Skip to content

Commit ad16c79

Browse files
committed
add better readme
1 parent d0181b9 commit ad16c79

File tree

1 file changed

+214
-30
lines changed

1 file changed

+214
-30
lines changed

README.md

Lines changed: 214 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,26 @@
11
# 🖥️ Console Linux Web (CLK)
22

3-
Une console Linux interactive entièrement développée en JavaScript qui permet d'explorer les commandes Unix/Linux directement dans votre navigateur !
3+
<div align="center">
4+
5+
![Console Linux Web](https://img.shields.io/badge/Console-Linux%20Web-blue?style=for-the-badge&logo=linux)
6+
![Version](https://img.shields.io/badge/Version-2.0.0-green?style=for-the-badge)
7+
![License](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)
8+
![Build Status](https://img.shields.io/badge/Build-Passing-brightgreen?style=for-the-badge)
9+
10+
**Un émulateur de terminal Linux interactif et moderne dans votre navigateur**
11+
12+
[🚀 Demo en direct](#-démo-en-ligne)[📖 Documentation](#-documentation)[🐛 Signaler un bug](https://github.com/Klaynight-dev/web_linux_console/issues)[💡 Demander une fonctionnalité](https://github.com/Klaynight-dev/web_linux_console/issues)
413

514
![Console Linux Web](./contents/img/logo.svg)
615

16+
</div>
17+
18+
---
19+
20+
## ✨ Aperçu
21+
22+
Console Linux Web (CLK) est une console Linux interactive entièrement développée en JavaScript qui permet d'explorer les commandes Unix/Linux directement dans votre navigateur ! Conçue pour l'apprentissage, la démonstration et le divertissement, elle offre une expérience utilisateur riche avec plus de 50 commandes implémentées.
23+
724
## 🌟 Fonctionnalités
825

926
### 📁 Système de fichiers virtuel
@@ -46,23 +63,37 @@ Essayez la console directement : [Demo Live](https://votre-demo-url.com)
4663

4764
## 📥 Installation
4865

49-
### Option 1 : Clonage du dépôt
66+
### Installation rapide
67+
5068
```bash
69+
# Cloner le repository
5170
git clone https://github.com/Klaynight-dev/web_linux_console.git
71+
72+
# Naviguer dans le dossier
5273
cd web_linux_console
74+
75+
# Ouvrir dans un serveur web local
76+
# Option 1: Python
77+
python -m http.server 8000
78+
79+
# Option 2: Node.js
80+
npx serve .
81+
82+
# Option 3: PHP
83+
php -S localhost:8000
5384
```
5485

5586
### Option 2 : Téléchargement direct
5687
Téléchargez et décompressez l'archive depuis les [releases](https://github.com/Klaynight-dev/web_linux_console/releases).
5788

5889
## 🚀 Utilisation
5990

60-
1. Ouvrez `index.html` dans votre navigateur
91+
1. Ouvrez `index.html` dans votre navigateur (ou http://localhost:8000)
6192
2. La console se lance automatiquement
6293
3. Tapez `help` pour voir toutes les commandes disponibles
6394
4. Commencez à explorer !
6495

65-
### Commandes essentielles pour débuter
96+
### 🎯 Commandes essentielles pour débuter
6697

6798
```bash
6899
help # Affiche toutes les commandes
@@ -76,9 +107,97 @@ tree # Affiche l'arborescence
76107
man ls # Manuel d'une commande
77108
```
78109

79-
## 🎯 Exemples d'utilisation
80-
81-
### Navigation et gestion de fichiers
110+
## 📖 Documentation
111+
112+
### 🗂️ Commandes par catégorie
113+
114+
<details>
115+
<summary><strong>🧭 Navigation</strong></summary>
116+
117+
| Commande | Description | Exemple |
118+
|----------|-------------|---------|
119+
| `pwd` | Affiche le répertoire courant | `pwd` |
120+
| `cd` | Change de répertoire | `cd /home/user` |
121+
| `ls` | Liste le contenu | `ls -l` |
122+
| `tree` | Arborescence des dossiers | `tree -L 2` |
123+
124+
</details>
125+
126+
<details>
127+
<summary><strong>📁 Fichiers & Dossiers</strong></summary>
128+
129+
| Commande | Description | Exemple |
130+
|----------|-------------|---------|
131+
| `cat` | Affiche le contenu d'un fichier | `cat fichier.txt` |
132+
| `mkdir` | Crée un dossier | `mkdir nouveau_dossier` |
133+
| `touch` | Crée un fichier vide | `touch fichier.txt` |
134+
| `rm` | Supprime un fichier/dossier | `rm fichier.txt` |
135+
| `edit` | Édite un fichier | `edit mon_fichier.txt` |
136+
| `cp` | Copie un fichier/dossier | `cp source dest` |
137+
| `mv` | Déplace/renomme | `mv ancien nouveau` |
138+
| `find` | Recherche des fichiers | `find . -name "*.txt"` |
139+
140+
</details>
141+
142+
<details>
143+
<summary><strong>🛠️ Utilitaires</strong></summary>
144+
145+
| Commande | Description | Exemple |
146+
|----------|-------------|---------|
147+
| `echo` | Affiche du texte | `echo "Hello World"` |
148+
| `clear` | Efface la console | `clear` |
149+
| `help` | Affiche l'aide | `help` |
150+
| `man` | Pages de manuel | `man ls` |
151+
| `grep` | Recherche dans un fichier | `grep "motif" fichier.txt` |
152+
| `wc` | Compte lignes/mots/caractères | `wc -l fichier.txt` |
153+
| `date` | Affiche la date | `date` |
154+
155+
</details>
156+
157+
<details>
158+
<summary><strong>⚙️ Système & Processus</strong></summary>
159+
160+
| Commande | Description | Exemple |
161+
|----------|-------------|---------|
162+
| `ps` | Liste les processus | `ps aux` |
163+
| `top` | Processus en temps réel | `top` |
164+
| `free` | Utilisation mémoire | `free -h` |
165+
| `df` | Espace disque | `df -h` |
166+
| `lshw` | Informations matérielles | `lshw` |
167+
| `whoami` | Utilisateur actuel | `whoami` |
168+
| `uptime` | Temps de fonctionnement | `uptime` |
169+
| `kill` | Termine un processus | `kill PID` |
170+
| `sudo` | Exécute en tant qu'admin | `sudo command` |
171+
172+
</details>
173+
174+
<details>
175+
<summary><strong>🌐 Réseau</strong></summary>
176+
177+
| Commande | Description | Exemple |
178+
|----------|-------------|---------|
179+
| `ifconfig` | Configuration réseau | `ifconfig` |
180+
| `ping` | Test de connectivité | `ping google.com` |
181+
| `wget` | Télécharge un fichier | `wget https://example.com/file.txt` |
182+
| `curl` | Transfert de données | `curl -I https://google.com` |
183+
184+
</details>
185+
186+
<details>
187+
<summary><strong>🎮 Divertissement</strong></summary>
188+
189+
| Commande | Description | Exemple |
190+
|----------|-------------|---------|
191+
| `cowsay` | Vache qui parle | `cowsay "Hello!"` |
192+
| `figlet` | Texte ASCII art | `figlet "HELLO"` |
193+
| `fortune` | Citation aléatoire | `fortune` |
194+
| `cmatrix` | Effet Matrix | `cmatrix` |
195+
196+
</details>
197+
198+
### 🎯 Exemples d'utilisation
199+
200+
#### Navigation et gestion de fichiers
82201
```bash
83202
pwd # Affiche le répertoire courant
84203
ls -l # Liste détaillée des fichiers
@@ -89,14 +208,14 @@ edit readme.md # Édite le fichier
89208
cp readme.md backup.md # Copie le fichier
90209
```
91210

92-
### Recherche et manipulation de texte
211+
#### Recherche et manipulation de texte
93212
```bash
94213
find . -name "*.txt" # Trouve tous les fichiers .txt
95214
grep "hello" mon_fichier.txt # Recherche "hello" dans le fichier
96215
wc -l mon_fichier.txt # Compte les lignes du fichier
97216
```
98217

99-
### Commandes système
218+
#### Commandes système
100219
```bash
101220
ps aux # Liste les processus
102221
free -h # Affiche l'utilisation mémoire
@@ -105,7 +224,7 @@ lshw # Informations matérielles
105224
ifconfig # Configuration réseau
106225
```
107226

108-
### Divertissement
227+
#### Divertissement
109228
```bash
110229
cowsay "Hello World!" # Vache qui parle
111230
figlet "ASCII ART" # Texte en ASCII art
@@ -134,33 +253,65 @@ cmatrix # Simulation Matrix (q pour quitter)
134253

135254
### Ajouter des commandes personnalisées
136255

137-
Vous pouvez importer des commandes JavaScript personnalisées :
256+
1. **Définir la commande** dans `contents/js/app.js` :
138257

139258
```javascript
140-
// Exemple de commande personnalisée
141-
registerCommand('hello', function(args) {
142-
const name = args[0] || 'World';
143-
this.addOutput(`Hello, ${name}!`);
144-
});
259+
commands: {
260+
// ... autres commandes
261+
maCommande(args) {
262+
// Traitement des arguments
263+
const options = this.parseOptions(args, {
264+
'h': 'help',
265+
'v': 'verbose'
266+
});
267+
268+
// Logique de la commande
269+
this.addOutput('Résultat de ma commande');
270+
}
271+
}
145272
```
146273

147-
Utilisez le menu "Fichier > Importer du code..." pour ajouter vos commandes.
274+
2. **Ajouter les métadonnées** dans `contents/js/cmdList.js` :
275+
276+
```javascript
277+
const COMMAND_METADATA = {
278+
// ... autres métadonnées
279+
maCommande: {
280+
category: 'Utilitaires',
281+
description: 'Description de ma commande',
282+
synopsis: 'maCommande [options]',
283+
helpOption: "[options]",
284+
options: [
285+
'-h : affiche l\'aide',
286+
'-v : mode verbeux'
287+
],
288+
examples: ['maCommande', 'maCommande -v']
289+
}
290+
};
291+
```
292+
293+
Vous pouvez aussi importer des commandes JavaScript personnalisées via le menu "Fichier > Importer du code...".
148294

149295
### Gestion des versions
150296

151297
Le projet utilise un système de versioning automatique :
152298

153299
```bash
154-
node version.js patch add "Description des changements"
300+
# Version patch (par défaut)
301+
node version.js add "Correction de bug"
302+
303+
# Version mineure
155304
node version.js minor add "Nouvelle fonctionnalité"
156-
node version.js major add "Changement majeur"
305+
306+
# Version majeure
307+
node version.js major add "Refonte complète"
157308
```
158309

159310
## 🔧 Configuration
160311

161312
### Paramètres disponibles
162313
- **Thème** : Sombre (défaut) ou Clair
163-
- **Police** : Monospace, Fira Mono, Consolas, etc.
314+
- **Police** : Monospace, Fira Mono, Consolas, Courier New, Roboto Mono
164315
- **Taille de police** : 12px à 24px
165316
- **Arrière-plan** : Couleur unie ou image personnalisée
166317
- **Historique** : Taille configurable (10-200 commandes)
@@ -171,11 +322,11 @@ Accédez aux paramètres via "Outils > Paramètres" ou tapez `settings` dans la
171322

172323
Les contributions sont les bienvenues ! Voici comment contribuer :
173324

174-
1. Fork le projet
175-
2. Créez une branche pour votre fonctionnalité (`git checkout -b feature/ma-fonctionnalite`)
176-
3. Committez vos changements (`git commit -am 'Ajout d'une nouvelle fonctionnalité'`)
177-
4. Poussez vers la branche (`git push origin feature/ma-fonctionnalite`)
178-
5. Ouvrez une Pull Request
325+
1. **Fork** le projet
326+
2. **Créez** une branche pour votre fonctionnalité (`git checkout -b feature/ma-fonctionnalite`)
327+
3. **Committez** vos changements (`git commit -am 'Ajout d'une nouvelle fonctionnalité'`)
328+
4. **Poussez** vers la branche (`git push origin feature/ma-fonctionnalite`)
329+
5. **Ouvrez** une Pull Request
179330

180331
### Types de contributions recherchées
181332
- 🐛 Correction de bugs
@@ -184,15 +335,31 @@ Les contributions sont les bienvenues ! Voici comment contribuer :
184335
- 🎨 Améliorations de l'interface
185336
- 🔧 Optimisations de performance
186337

338+
### Règles de contribution
339+
- 📝 Documentez vos fonctionnalités
340+
- 🧪 Testez vos modifications
341+
- 🎨 Respectez le style de code existant
342+
- 📖 Mettez à jour la documentation
343+
187344
## 📋 Roadmap
188345

346+
### Version 2.1.0
347+
- [ ] Terminal multi-onglets
348+
- [ ] Autocomplétion avancée
189349
- [ ] Support des pipes (`|`)
190-
- [ ] Auto-complétion des commandes
350+
- [ ] Mode plein écran
351+
352+
### Version 2.2.0
191353
- [ ] Thèmes personnalisables
192354
- [ ] Sauvegarde cloud du système de fichiers
193355
- [ ] Support des raccourcis clavier avancés
356+
- [ ] Éditeur vim/nano
357+
358+
### Version 3.0.0
194359
- [ ] Mode multi-utilisateur
360+
- [ ] Interface graphique file manager
195361
- [ ] API REST pour les commandes
362+
- [ ] Terminal web-assembly
196363

197364
## 🐛 Signaler un problème
198365

@@ -205,19 +372,31 @@ Si vous rencontrez un bug ou souhaitez suggérer une amélioration :
205372
- Navigateur et version utilisés
206373
- Captures d'écran si pertinentes
207374

375+
## 🛠️ Technologies utilisées
376+
377+
- **Frontend** : HTML5, CSS3, JavaScript ES6+
378+
- **Framework CSS** : Tailwind CSS
379+
- **Polices** : Google Fonts (Inter, Roboto Mono)
380+
- **Stockage** : Cookies pour la persistance
381+
- **APIs** : WebRTC, Navigator APIs pour les informations système
382+
208383
## 📄 Licence
209384

210385
Ce projet est sous licence MIT. Voir le fichier [LICENSE](LICENSE) pour plus de détails.
211386

212387
## 👨‍💻 Auteur
213388

214-
**Klaynight** - [GitHub](https://github.com/Klaynight-dev)
389+
**Klaynight**
390+
- GitHub: [@Klaynight-dev](https://github.com/Klaynight-dev)
391+
- Projet: [Console Linux Web](https://github.com/Klaynight-dev/web_linux_console)
215392

216393
## 🙏 Remerciements
217394

218395
- Inspiré par les vrais terminaux Linux/Unix
219396
- Utilise [Tailwind CSS](https://tailwindcss.com/) pour le styling
220397
- Polices de [Google Fonts](https://fonts.google.com/)
398+
- Communauté open source
399+
- Contributeurs du projet
221400

222401
## 📊 Statistiques
223402

@@ -229,6 +408,11 @@ Ce projet est sous licence MIT. Voir le fichier [LICENSE](LICENSE) pour plus de
229408
---
230409

231410
<div align="center">
232-
<p>Fait avec ❤️ par <a href="https://github.com/Klaynight-dev">Klaynight</a></p>
233-
<p>⭐ N'hésitez pas à mettre une étoile si ce projet vous plaît !</p>
234-
</div>
411+
412+
**⭐ N'hésitez pas à mettre une étoile si ce projet vous plaît ! ⭐**
413+
414+
<p>Fait avec ❤️ par <a href="https://github.com/Klaynight-dev">Klaynight</a></p>
415+
416+
[🏠 Retour en haut](#-console-linux-web-clk)
417+
418+
</div>

0 commit comments

Comments
 (0)