Skip to content

Commit b183c46

Browse files
committed
Too many things, refer to the commit message
Adding the license file (GNU GPL V3) Translating README.md from French to English Creating LISEZMOI.md in French Creating src/communFunctions package to improve readability and eliminate redundant functions. In the encoder and the decoder, creating more functions to inprove readablity
1 parent cdf68e9 commit b183c46

File tree

17 files changed

+1502
-588
lines changed

17 files changed

+1502
-588
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
11
/bin
2+
/setups
3+
*/rsrc.syso
4+
/setup.bat
5+
/build.bat
6+
/buildsetup.bat
7+
/assets
8+
/icons

LICENSE

Lines changed: 674 additions & 0 deletions
Large diffs are not rendered by default.

LISEZMOI.md

Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
# GoFileEncoder
2+
3+
> 🇬🇧 Are you English ? Open [README.md](README.md) in English.
4+
5+
6+
## Introduction
7+
8+
GoFileEncoder est un petit encodeur de fichiers qui utilise l'[encryption XOR <sup>(EN)</sup>](https://en.wikipedia.org/wiki/XOR_cipher). Il est codé en Golang, et est compilé pour plusieurs OS (Windows&reg;, Linux&reg;,et bientôt macOS&reg;).
9+
10+
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).
11+
12+
---
13+
14+
## Sommaire
15+
- [GoFileEncoder](#gofileencoder)
16+
- [Introduction](#introduction)
17+
- [Sommaire](#sommaire)
18+
- [Construction](#construction)
19+
- [Clonage](#clonage)
20+
- [Arbre des dépendances](#arbre-des-dépendances)
21+
- [Installation des dépendances](#installation-des-dépendances)
22+
- [Création du _package_ d'_assets_](#création-du-package-dassets)
23+
- [Compilation](#compilation)
24+
- [En Bash](#en-bash)
25+
- [En Batch](#en-batch)
26+
- [Utilisation](#utilisation)
27+
- [1. Encoder ou décoder ?](#1-encoder-ou-décoder-)
28+
- [2. Sélectionnez un fichier](#2-sélectionnez-un-fichier)
29+
- [3. Entrez le mot de passe](#3-entrez-le-mot-de-passe)
30+
- [4. Choisissez le fichier de destination](#4-choisissez-le-fichier-de-destination)
31+
- [5. Attendez...](#5-attendez)
32+
- [6. Terminé !](#6-terminé-)
33+
- [License](#license)
34+
- [Introduction](#introduction-1)
35+
- [Sommaire](#sommaire-1)
36+
- [Construction](#construction-1)
37+
- [Clonage](#clonage-1)
38+
- [Arbre des dépendances](#arbre-des-dépendances-1)
39+
- [Installation des dépendances](#installation-des-dépendances-1)
40+
- [Compilation](#compilation-1)
41+
- [En Bash](#en-bash-1)
42+
- [En Batch](#en-batch-1)
43+
- [Utilisation](#utilisation-1)
44+
- [1. Encoder ou décoder ?](#1-encoder-ou-décoder--1)
45+
- [2. Sélectionnez un fichier](#2-sélectionnez-un-fichier-1)
46+
- [3. Entrez le mot de passe](#3-entrez-le-mot-de-passe-1)
47+
- [4. Choisissez le fichier de destination](#4-choisissez-le-fichier-de-destination-1)
48+
- [5. Attendez...](#5-attendez-1)
49+
- [6. Terminé !](#6-terminé--1)
50+
- [License](#license-1)
51+
52+
53+
## Construction
54+
55+
### Clonage
56+
57+
```bash
58+
git clone https://github.com/eliotttak/GoFileEncoder
59+
cd GoFileEncoder
60+
```
61+
62+
### Arbre des dépendances
63+
64+
```plaintext
65+
GoFileEncoder (ce projet)
66+
|
67+
+-- github.com/sqweek/dialog (pour les popups des fichiers)
68+
| |
69+
| \_ github.com/TheTitanrain/w32 (indirect)
70+
|
71+
\_ golang.org/x/term (pour la demande de mot de passe)
72+
|
73+
\_ golang.org/x/sys (indirect)
74+
```
75+
76+
Se réferer au fichier [go.mod](./go.mod) pour plus de détails.
77+
> &#x1F6C8; Dans [go.mod](./go.mod), il y a une directive d'import pour [github.com/abdfnx/gosh](https://github.com/abdfnx/gosh). Il a été utilisé seulement pour mon installateur, et vous ne devriez pas en avoir besoin. Il devrait disparaître si vous exécutez `go mod tidy`.
78+
79+
### Installation des dépendances
80+
```bash
81+
go mod tidy
82+
go get
83+
```
84+
85+
### Création du _package_ d'_assets_
86+
```bash
87+
go-bindata -pkg assets -o assets/bindata.go LICENSE
88+
```
89+
90+
### Compilation
91+
92+
#### En Bash
93+
```bash
94+
go build -o ./bin/GoFileEncoder ./src/
95+
```
96+
97+
#### En Batch
98+
```batch
99+
go build -o .\bin\GoFileEncoder .\src\
100+
```
101+
102+
---
103+
104+
## Utilisation
105+
106+
### 1. Encoder ou décoder ?
107+
108+
En premier, lancez le programme. Celui-ci va vous demander si vous souhaitez encoder ou décoder un fichier :
109+
110+
```plaintext
111+
Que voulez-vous faire ?
112+
- Encoder un fichier (e)
113+
- Décoder un fichier (d)
114+
(e/d)>>>
115+
```
116+
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>.
117+
118+
### 2. Sélectionnez un fichier
119+
120+
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.
121+
> &#x1F6C8; Si vous annulez, le popup va réapparaître 2 fois, puis à la 3<sup>ème</sup>, le message `"Trop de tentatives échouées"` va s'afficher puis le programme va se fermer.
122+
123+
### 3. Entrez le mot de passe
124+
125+
Après cela, un mot de passe vous sera demandé. Entrez-le puis validez avec <kbd>Entrée</kbd>.
126+
> &#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.
127+
128+
> &#x1F6C8; Pour garantir la confidentialité de votre mot de passe, celui-ci ne s'affichera pas sur votre écran.
129+
130+
### 4. Choisissez le fichier de destination
131+
132+
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.
133+
> &#x1F6C8; Si vous annulez, le popup va réapparaître 2 fois, puis à la 3<sup>ème</sup>, le message `"Trop de tentatives échouées"` va s'afficher puis le programme va se fermer.
134+
135+
### 5. Attendez...
136+
137+
Le fichier est en train d'être encodé. Ne fermez pas le programme.
138+
139+
### 6. Terminé !
140+
Au bout de quelques secondes, le fichier est encodé ou décodé. Le programme se ferme automatiquement.
141+
142+
## License
143+
Ce logiciel est distribué sous la license GNU GENERAL PUBLIC LICENSE version 3 (GNU GPL v3).
144+
[Voir la license](..\# <small>(FR)</small> GoFileEncoder
145+
146+
## Introduction
147+
148+
GoFileEncoder est un petit encodeur de fichiers qui utilise l'[encryption XOR <sup>(EN)</sup>](https://en.wikipedia.org/wiki/XOR_cipher) (une autre ). Il est codé en Golang, et est compilé pour plusieurs OS (Windows&reg;, Linux&reg;,et bientôt macOS&reg;).
149+
150+
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_ <sup>(EN)</sup>](https://github.com/eliotttak/GoFileEncoder/issues), [_pull requests_ <sup>(EN)</sup>](https://github.com/eliotttak/GoFileEncoder/pulls) et à la [discussion <sup>(EN)</sup>](https://github.com/eliotttak/GoFileEncoder/discussions).
151+
152+
---
153+
154+
## Sommaire
155+
- [GoFileEncoder](#gofileencoder)
156+
- [Introduction](#introduction)
157+
- [Sommaire](#sommaire)
158+
- [Construction](#construction)
159+
- [Clonage](#clonage)
160+
- [Arbre des dépendances](#arbre-des-dépendances)
161+
- [Installation des dépendances](#installation-des-dépendances)
162+
- [Création du _package_ d'_assets_](#création-du-package-dassets)
163+
- [Compilation](#compilation)
164+
- [En Bash](#en-bash)
165+
- [En Batch](#en-batch)
166+
- [Utilisation](#utilisation)
167+
- [1. Encoder ou décoder ?](#1-encoder-ou-décoder-)
168+
- [2. Sélectionnez un fichier](#2-sélectionnez-un-fichier)
169+
- [3. Entrez le mot de passe](#3-entrez-le-mot-de-passe)
170+
- [4. Choisissez le fichier de destination](#4-choisissez-le-fichier-de-destination)
171+
- [5. Attendez...](#5-attendez)
172+
- [6. Terminé !](#6-terminé-)
173+
- [License](#license)
174+
- [Introduction](#introduction-1)
175+
- [Sommaire](#sommaire-1)
176+
- [Construction](#construction-1)
177+
- [Clonage](#clonage-1)
178+
- [Arbre des dépendances](#arbre-des-dépendances-1)
179+
- [Installation des dépendances](#installation-des-dépendances-1)
180+
- [Compilation](#compilation-1)
181+
- [En Bash](#en-bash-1)
182+
- [En Batch](#en-batch-1)
183+
- [Utilisation](#utilisation-1)
184+
- [1. Encoder ou décoder ?](#1-encoder-ou-décoder--1)
185+
- [2. Sélectionnez un fichier](#2-sélectionnez-un-fichier-1)
186+
- [3. Entrez le mot de passe](#3-entrez-le-mot-de-passe-1)
187+
- [4. Choisissez le fichier de destination](#4-choisissez-le-fichier-de-destination-1)
188+
- [5. Attendez...](#5-attendez-1)
189+
- [6. Terminé !](#6-terminé--1)
190+
- [License](#license-1)
191+
192+
193+
## Construction
194+
195+
### Clonage
196+
197+
```bash
198+
git clone https://github.com/eliotttak/GoFileEncoder
199+
cd GoFileEncoder
200+
```
201+
202+
### Arbre des dépendances
203+
204+
```plaintext
205+
GoFileEncoder (ce projet)
206+
|
207+
+-- github.com/sqweek/dialog (pour les popups des fichiers)
208+
| |
209+
| \_ github.com/TheTitanrain/w32 (indirect)
210+
|
211+
\_ golang.org/x/term (pour la demande de mot de passe)
212+
|
213+
\_ golang.org/x/sys (indirect)
214+
```
215+
216+
Se réferer au fichier [go.mod](./go.mod) pour plus de détails.
217+
218+
### Installation des dépendances
219+
```bash
220+
go mod tidy
221+
```
222+
223+
### Compilation
224+
225+
#### En Bash
226+
```bash
227+
go build -o ./bin/GoFileEncoder ./src/
228+
```
229+
230+
#### En Batch
231+
```batch
232+
go build -o .\bin\GoFileEncoder .\src\
233+
```
234+
235+
---
236+
237+
## Utilisation
238+
239+
### 1. Encoder ou décoder ?
240+
241+
En premier, lancez le programme. Celui-ci va vous demander si vous souhaitez encoder ou décoder un fichier :
242+
```plaintext
243+
Que voulez-vous faire ?
244+
- Encoder un fichier (e)
245+
- Décoder un fichier (d)
246+
(e/d)>>>
247+
```
248+
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>.
249+
250+
### 2. Sélectionnez un fichier
251+
252+
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.
253+
> &#x1F6C8; Si vous annulez, le popup va réapparaître 2 fois, puis à la 3<sup>ème</sup>, le message `"Trop de tentatives échouées"` va s'afficher puis le programme va se fermer.
254+
255+
### 3. Entrez le mot de passe
256+
257+
Après cela, un mot de passe vous sera demandé. Entrez-le puis validez avec <kbd>Entrée</kbd>.
258+
> &#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.
259+
260+
> &#x1F6C8; Pour garantir la confidentialité de votre mot de passe, celui-ci ne s'affichera pas sur votre écran.
261+
262+
### 4. Choisissez le fichier de destination
263+
264+
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.
265+
> &#x1F6C8; Si vous annulez, le popup va réapparaître 2 fois, puis à la 3<sup>ème</sup>, le message `"Trop de tentatives échouées"` va s'afficher puis le programme va se fermer.
266+
267+
### 5. Attendez...
268+
269+
Le fichier est en train d'être encodé. Ne fermez pas le programme.
270+
271+
### 6. Terminé !
272+
Au bout de quelques secondes, le fichier est encodé ou décodé. Le programme se ferme automatiquement.
273+
274+
## License
275+
Ce logiciel est distribué sous la license GNU GENERAL PUBLIC LICENSE version 3 (GNU GPL v3).
276+
[Voir la license <sup>(EN)</sup>](LICENSE))

0 commit comments

Comments
 (0)