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
5170git clone https://github.com/Klaynight-dev/web_linux_console.git
71+
72+ # Naviguer dans le dossier
5273cd 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
5687Té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 )
61922 . La console se lance automatiquement
62933 . Tapez ` help ` pour voir toutes les commandes disponibles
63944 . Commencez à explorer !
6495
65- ### Commandes essentielles pour débuter
96+ ### 🎯 Commandes essentielles pour débuter
6697
6798``` bash
6899help # Affiche toutes les commandes
@@ -76,9 +107,97 @@ tree # Affiche l'arborescence
76107man 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
83202pwd # Affiche le répertoire courant
84203ls -l # Liste détaillée des fichiers
@@ -89,14 +208,14 @@ edit readme.md # Édite le fichier
89208cp readme.md backup.md # Copie le fichier
90209```
91210
92- ### Recherche et manipulation de texte
211+ #### Recherche et manipulation de texte
93212``` bash
94213find . -name " *.txt" # Trouve tous les fichiers .txt
95214grep " hello" mon_fichier.txt # Recherche "hello" dans le fichier
96215wc -l mon_fichier.txt # Compte les lignes du fichier
97216```
98217
99- ### Commandes système
218+ #### Commandes système
100219``` bash
101220ps aux # Liste les processus
102221free -h # Affiche l'utilisation mémoire
@@ -105,7 +224,7 @@ lshw # Informations matérielles
105224ifconfig # Configuration réseau
106225```
107226
108- ### Divertissement
227+ #### Divertissement
109228``` bash
110229cowsay " Hello World!" # Vache qui parle
111230figlet " 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
151297Le 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
155304node 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
172323Les 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
210385Ce 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