Skip to content

Commit ea557e8

Browse files
committed
Update the build scripts and the README files
1 parent ccaeaff commit ea557e8

File tree

4 files changed

+417
-387
lines changed

4 files changed

+417
-387
lines changed

LISEZMOI.md

Lines changed: 196 additions & 191 deletions
Original file line numberDiff line numberDiff line change
@@ -1,191 +1,196 @@
1-
# GoFileEncoder
2-
3-
> 🇬🇧 Do you speak English ? Open [README.md](README.md) in English.
4-
5-
## Introduction
6-
7-
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;).
8-
9-
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).
10-
11-
---
12-
13-
## Sommaire
14-
- [GoFileEncoder](#gofileencoder)
15-
- [Introduction](#introduction)
16-
- [Sommaire](#sommaire)
17-
- [Construction](#construction)
18-
- [Clonage](#clonage)
19-
- [Arbre des dépendances du _package_](#arbre-des-dépendances-du-package)
20-
- [Dépendances de construction](#dépendances-de-construction)
21-
- [Installation des dépendances](#installation-des-dépendances)
22-
- [Compilation et création du _package_ d'assets](#compilation-et-création-du-package-dassets)
23-
- [En Bash](#en-bash)
24-
- [En Batch](#en-batch)
25-
- [Exécution](#exécution)
26-
- [En Bash](#en-bash-1)
27-
- [En Batch](#en-batch-1)
28-
- [Traductions](#traductions)
29-
- [Installer une langue](#installer-une-langue)
30-
- [Définir la langue à utiliser](#définir-la-langue-à-utiliser)
31-
- [1. Aucun fichier de traduction installé](#1-aucun-fichier-de-traduction-installé)
32-
- [2. Un seul fichier de traduction installé](#2-un-seul-fichier-de-traduction-installé)
33-
- [3. Plusieurs (2 ou plus) fichiers de configuration installés](#3-plusieurs-2-ou-plus-fichiers-de-configuration-installés)
34-
- [Créer un fichier de traduction](#créer-un-fichier-de-traduction)
35-
- [Nom du fichier](#nom-du-fichier)
36-
- [Contenu du fichier](#contenu-du-fichier)
37-
- [Utilisation](#utilisation)
38-
- [1. Encoder ou décoder ?](#1-encoder-ou-décoder-)
39-
- [2. Sélectionnez un fichier](#2-sélectionnez-un-fichier)
40-
- [3. Entrez le mot de passe](#3-entrez-le-mot-de-passe)
41-
- [4. Choisissez le fichier de destination](#4-choisissez-le-fichier-de-destination)
42-
- [5. Attendez...](#5-attendez)
43-
- [6. Terminé !](#6-terminé-)
44-
- [License](#license)
45-
46-
47-
## Construction
48-
49-
### Clonage
50-
51-
```bash
52-
git clone https://github.com/eliotttak/GoFileEncoder
53-
cd GoFileEncoder
54-
```
55-
56-
### Arbre des dépendances du _package_
57-
58-
```plaintext
59-
GoFileEncoder (ce projet)
60-
|
61-
+-- github.com/sqweek/dialog (pour les popups des fichiers)
62-
| |
63-
| \_ github.com/TheTitanrain/w32 (indirect)
64-
|
65-
+-- golang.org/x/term (pour la demande de mot de passe)
66-
| |
67-
| \_ golang.org/x/sys (indirect)
68-
|
69-
\_ github.com/christianhujer/isheadless (pour vérifier s'il y a une GUI)
70-
```
71-
72-
Se réferer au fichier [go.mod](./go.mod) pour plus de détails.
73-
> &#x1F6C8; Dans [go.mod](./go.mod), il peut y avoir une directive d'import pour [github.com/abdfnx/gosh](https://github.com/abdfnx/gosh). Elle a été utilisée uniquement pour mon assistant d'installation, et vous ne devriez pas en avoir besoin. Elle va disparaître si vous exécutez `go mod tidy`.
74-
75-
### Dépendances de construction
76-
77-
- `github.com/go-bindata/go-bindata/go-bindata/...` (pour créer le fichier d'_assets_)
78-
79-
### Installation des dépendances
80-
```bash
81-
go mod tidy
82-
go install github.com/go-bindata/go-bindata/go-bindata/...
83-
go get
84-
```
85-
### Compilation et création du _package_ d'assets
86-
87-
#### En Bash
88-
```bash
89-
# Vous allez peut-être devoir exécuter 'chmod 744 build.sh'
90-
./build.sh # Vous pouvez ajouter une valeur de GOOS et une de GOARCH, par ex. './build.sh linux amd64'
91-
```
92-
93-
#### En Batch
94-
```batch
95-
rem Vous pouvez ajouter une valeur de GOOS et une de GOARCH, par ex. 'build.bat windows amd64'
96-
build.bat
97-
```
98-
99-
### Exécution
100-
#### En Bash
101-
```bash
102-
./bin/portables/GoFileEncoder_portable_linux_amd64 # Vous pouvez écrire une autre OS ou architecture.
103-
```
104-
#### En Batch
105-
```batch
106-
.\bin\portables\GoFileEncoder_portable_windows_amd64.exe
107-
rem Vous pouvez écrire une autre OS ou architecture.
108-
```
109-
110-
---
111-
112-
## Traductions
113-
### Installer une langue
114-
Téléchargez un fichier de traduction (par ex. [`translate-fr-FR.json`](./translationFiles/translate-fr-FR.json)) et placez-le dans le même dossier que l'exécutable.
115-
116-
### Définir la langue à utiliser
117-
Le choix de la langue à utiliser est en partie automatisé. Voici les détails :
118-
#### 1. Aucun fichier de traduction installé
119-
Dans cette configuration, la langue utilisée sera l'angais britanique (`en-GB`).
120-
#### 2. Un seul fichier de traduction installé
121-
Dans cette configuration, le fichier de traduction installé sera utilisé.
122-
#### 3. Plusieurs (2 ou plus) fichiers de configuration installés
123-
Dans cette configuration, à chaque lancement du programme, les langues disponibles seront listées, et vous serez invité à en choisir une.
124-
125-
### Créer un fichier de traduction
126-
#### Nom du fichier
127-
Le nom du fichier doit être au format `translate-ab-CD.json`, par ex. `translate-fr-FR.json`.
128-
129-
#### Contenu du fichier
130-
Le fichier est au format `JSON`.
131-
132-
Le fichier est composé de quatre grandes parties :
133-
- `General` contient les traductions qui seront utilisées par au moins 2 packages différents.
134-
- `Intro` contient les traductions utilisées uniquement par le package `main`.
135-
- `CommonThings` contient les traductions utilisées uniquement par le package `commonThings`.
136-
- `Encoding` contient les traductions utilisées uniquement par le package `encoder`.
137-
- `Decoding` contient les traductions utilisées uniquement par le package `decoder`.
138-
139-
Chaque paire `"clé": "valeur"` correspond à une phrase ou groupe de mots qui sera affiché par le programme.
140-
141-
Vous pouvez vous inspirer d'[un fichier déjà existant](./translationFiles/).
142-
143-
---
144-
145-
## Utilisation
146-
147-
### 1. Encoder ou décoder ?
148-
149-
En premier, lancez le programme. Celui-ci va vous demander si vous souhaitez encoder ou décoder un fichier :
150-
```plaintext
151-
Que voulez-vous faire ?
152-
- Encoder un fichier (e)
153-
- Décoder un fichier (d)
154-
(e/d)>>>
155-
```
156-
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>.
157-
158-
### 2. Sélectionnez un fichier
159-
160-
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.
161-
> &#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.
162-
163-
> &#x1F6C8; Si votre configuration ne comprends pas d'interface graphique, vous allez devoir entrer manuellement le chemin absolu vers vorte fichier.
164-
165-
### 3. Entrez le mot de passe
166-
167-
Après cela, un mot de passe vous sera demandé. Entrez-le puis validez avec <kbd>Entrée</kbd>.
168-
> &#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.
169-
170-
> &#x1F6C8; Pour garantir la confidentialité de votre mot de passe, celui-ci ne s'affichera pas sur votre écran.
171-
172-
### 4. Choisissez le fichier de destination
173-
174-
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.
175-
> &#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.
176-
177-
> &#x1F6C8; Si votre configuration ne comprends pas d'interface graphique, vous allez devoir entrer manuellement le chemin absolu vers vorte fichier.
178-
179-
180-
### 5. Attendez...
181-
182-
Le fichier est en train d'être encodé. Ne fermez pas le programme.
183-
184-
### 6. Terminé !
185-
Au bout de quelques secondes, le fichier est encodé ou décodé. Le programme se ferme automatiquement.
186-
187-
## License
188-
Ce logiciel est distribué sous la license GNU GENERAL PUBLIC LICENSE version 3 (GNU GPL v3).
189-
190-
[Voir la license <sup>(EN)</sup>](LICENSE)
191-
1+
# GoFileEncoder
2+
3+
> &#x1F1EC;&#x1F1E7; Do you speak English ? Open [README.md](README.md) in English.
4+
5+
## Introduction
6+
7+
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;).
8+
9+
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).
10+
11+
---
12+
## Sommaire
13+
- [GoFileEncoder](#gofileencoder)
14+
- [Introduction](#introduction)
15+
- [Sommaire](#sommaire)
16+
- [Construction](#construction)
17+
- [Clonage](#clonage)
18+
- [Arbre des dépendances du _package_](#arbre-des-dépendances-du-package)
19+
- [Dépendances de construction](#dépendances-de-construction)
20+
- [Installation des dépendances](#installation-des-dépendances)
21+
- [Compilation et création du _package_ d'assets](#compilation-et-création-du-package-dassets)
22+
- [En Bash](#en-bash)
23+
- [En Batch](#en-batch)
24+
- [Exécution](#exécution)
25+
- [En Bash](#en-bash-1)
26+
- [En Batch](#en-batch-1)
27+
- [Traductions](#traductions)
28+
- [Installer une langue](#installer-une-langue)
29+
- [Définir la langue à utiliser](#définir-la-langue-à-utiliser)
30+
- [1. Aucun fichier de traduction installé](#1-aucun-fichier-de-traduction-installé)
31+
- [2. Un seul fichier de traduction installé](#2-un-seul-fichier-de-traduction-installé)
32+
- [3. Plusieurs (2 ou plus) fichiers de configuration installés](#3-plusieurs-2-ou-plus-fichiers-de-configuration-installés)
33+
- [Créer un fichier de traduction](#créer-un-fichier-de-traduction)
34+
- [Nom du fichier](#nom-du-fichier)
35+
- [Contenu du fichier](#contenu-du-fichier)
36+
- [Utilisation](#utilisation)
37+
- [1. Encoder ou décoder ?](#1-encoder-ou-décoder-)
38+
- [2. Sélectionnez un fichier](#2-sélectionnez-un-fichier)
39+
- [3. Entrez le mot de passe](#3-entrez-le-mot-de-passe)
40+
- [4. Choisissez le fichier de destination](#4-choisissez-le-fichier-de-destination)
41+
- [5. Attendez...](#5-attendez)
42+
- [6. Terminé !](#6-terminé-)
43+
- [License](#license)
44+
45+
---
46+
47+
## Construction
48+
49+
### Clonage
50+
51+
```bash
52+
git clone https://github.com/eliotttak/GoFileEncoder
53+
cd GoFileEncoder
54+
```
55+
56+
### Arbre des dépendances du _package_
57+
58+
```plaintext
59+
GoFileEncoder (ce projet)
60+
|
61+
+-- github.com/sqweek/dialog (pour les popups des fichiers)
62+
| |
63+
| \_ github.com/TheTitanrain/w32 (indirect)
64+
|
65+
+-- golang.org/x/term (pour la demande de mot de passe)
66+
| |
67+
| \_ golang.org/x/sys (indirect)
68+
|
69+
\_ github.com/christianhujer/isheadless (pour vérifier s'il y a une GUI)
70+
```
71+
72+
Se réferer au fichier [go.mod](./go.mod) pour plus de détails.
73+
> &#x1F6C8; Dans [go.mod](./go.mod), il peut y avoir une directive d'import pour [github.com/abdfnx/gosh](https://github.com/abdfnx/gosh). Elle a été utilisée uniquement pour mon assistant d'installation, et vous ne devriez pas en avoir besoin. Elle va disparaître si vous exécutez `go mod tidy`.
74+
75+
### Dépendances de construction
76+
77+
- `github.com/go-bindata/go-bindata/go-bindata/...` (pour créer le fichier d'_assets_)
78+
Seulement pour Windows&reg;:
79+
- `svg_to_ico` ([Ortham/svg_to_ico](https://github.com/Ortham/svg_to_ico)) doit être dans `$PATH` ou `%PATH%` (pour convertir l'icône SVG en ICO)
80+
- `resourcehacker` ([www.angusj.com/resourcehacker/#download](https://www.angusj.com/resourcehacker/#download)) doit être dans `$PATH` ou `%PATH%` (pour intégrer l'icône à l'exécutable)
81+
82+
### Installation des dépendances
83+
```bash
84+
go mod tidy
85+
go install github.com/go-bindata/go-bindata/go-bindata/...
86+
go get
87+
```
88+
89+
Vous allez aussi devoir installer manuellement Resource Hacker et `svg_to_ico`
90+
91+
### Compilation et création du _package_ d'assets
92+
93+
#### En Bash
94+
```bash
95+
# Vous allez peut-être devoir exécuter 'chmod 744 build.sh'
96+
./build.sh # Vous pouvez ajouter une valeur de GOOS et une de GOARCH, par ex. './build.sh linux amd64'
97+
```
98+
99+
#### En Batch
100+
```batch
101+
rem Vous pouvez ajouter une valeur de GOOS et une de GOARCH, par ex. 'build.bat windows amd64'
102+
build.bat
103+
```
104+
105+
### Exécution
106+
#### En Bash
107+
```bash
108+
./bin/portables/GoFileEncoder_portable_linux_amd64 # Vous pouvez écrire une autre OS ou architecture.
109+
```
110+
#### En Batch
111+
```batch
112+
.\bin\portables\GoFileEncoder_portable_windows_amd64.exe
113+
rem Vous pouvez écrire une autre OS ou architecture.
114+
```
115+
116+
---
117+
118+
## Traductions
119+
### Installer une langue
120+
Téléchargez un fichier de traduction (par ex. [`translate-fr-FR.json`](./translationFiles/translate-fr-FR.json)) et placez-le dans le même dossier que l'exécutable.
121+
122+
### Définir la langue à utiliser
123+
Le choix de la langue à utiliser est en partie automatisé. Voici les détails :
124+
#### 1. Aucun fichier de traduction installé
125+
Dans cette configuration, la langue utilisée sera l'angais britanique (`en-GB`).
126+
#### 2. Un seul fichier de traduction installé
127+
Dans cette configuration, le fichier de traduction installé sera utilisé.
128+
#### 3. Plusieurs (2 ou plus) fichiers de configuration installés
129+
Dans cette configuration, à chaque lancement du programme, les langues disponibles seront listées, et vous serez invité à en choisir une.
130+
131+
### Créer un fichier de traduction
132+
#### Nom du fichier
133+
Le nom du fichier doit être au format `translate-ab-CD.json`, par ex. `translate-fr-FR.json`.
134+
135+
#### Contenu du fichier
136+
Le fichier est au format `JSON`.
137+
138+
Le fichier est composé de cinq grandes parties :
139+
- `General` contient les traductions qui seront utilisées par au moins 2 packages différents.
140+
- `Intro` contient les traductions utilisées uniquement par le package `main`.
141+
- `CommonThings` contient les traductions utilisées uniquement par le package `commonThings`.
142+
- `Encoding` contient les traductions utilisées uniquement par le package `encoder`.
143+
- `Decoding` contient les traductions utilisées uniquement par le package `decoder`.
144+
145+
Chaque paire `"clé": "valeur"` correspond à une phrase ou groupe de mots qui sera affiché par le programme.
146+
147+
Vous pouvez vous inspirer d'[un fichier déjà existant](./translationFiles/).
148+
149+
---
150+
151+
## Utilisation
152+
153+
### 1. Encoder ou décoder ?
154+
155+
En premier, lancez le programme. Celui-ci va vous demander si vous souhaitez encoder ou décoder un fichier :
156+
```plaintext
157+
Que voulez-vous faire ?
158+
- Encoder un fichier (e)
159+
- Décoder un fichier (d)
160+
(e/d)>>>
161+
```
162+
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>.
163+
164+
### 2. Sélectionnez un fichier
165+
166+
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.
167+
> &#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.
168+
169+
> &#x1F6C8; Si votre configuration ne comprends pas d'interface graphique, vous allez devoir entrer manuellement le chemin absolu vers vorte fichier.
170+
171+
### 3. Entrez le mot de passe
172+
173+
Après cela, un mot de passe vous sera demandé. Entrez-le puis validez avec <kbd>Entrée</kbd>.
174+
> &#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.
175+
176+
> &#x1F6C8; Pour garantir la confidentialité de votre mot de passe, celui-ci ne s'affichera pas sur votre écran.
177+
178+
### 4. Choisissez le fichier de destination
179+
180+
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.
181+
> &#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.
182+
183+
> &#x1F6C8; Si votre configuration ne comprends pas d'interface graphique, vous allez devoir entrer manuellement le chemin absolu vers vorte fichier.
184+
185+
186+
### 5. Attendez...
187+
188+
Le fichier est en train d'être encodé. Ne fermez pas le programme.
189+
190+
### 6. Terminé !
191+
Au bout de quelques secondes, le fichier est encodé ou décodé. Le programme se ferme automatiquement.
192+
193+
## License
194+
Ce logiciel est distribué sous la license GNU GENERAL PUBLIC LICENSE version 3 (GNU GPL v3).
195+
196+
[Voir la license <sup>(EN)</sup>](LICENSE)

0 commit comments

Comments
 (0)