|
1 | | -# console_linux |
2 | | -Une console Linux mais dans le web |
| 1 | +# 🖥️ Console Linux Web (CLK) |
| 2 | + |
| 3 | +Une console Linux interactive entièrement développée en JavaScript qui permet d'explorer les commandes Unix/Linux directement dans votre navigateur ! |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +## 🌟 Fonctionnalités |
| 8 | + |
| 9 | +### 📁 Système de fichiers virtuel |
| 10 | +- Navigation complète avec `cd`, `pwd`, `ls` |
| 11 | +- Création et gestion de fichiers/dossiers (`mkdir`, `touch`, `rm`) |
| 12 | +- Éditeur de texte riche intégré (`edit`) |
| 13 | +- Opérations de copie/déplacement (`cp`, `mv`) |
| 14 | + |
| 15 | +### 🛠️ Plus de 50 commandes disponibles |
| 16 | +- **Navigation** : `pwd`, `cd`, `ls`, `tree` |
| 17 | +- **Fichiers** : `cat`, `mkdir`, `touch`, `rm`, `edit`, `find`, `cp`, `mv` |
| 18 | +- **Utilitaires** : `echo`, `clear`, `help`, `grep`, `wc`, `date` |
| 19 | +- **Système** : `ps`, `top`, `free`, `df`, `kill`, `sudo` |
| 20 | +- **Réseau** : `ping`, `wget`, `curl`, `ifconfig`, `lshw` |
| 21 | +- **Divertissement** : `cowsay`, `figlet`, `fortune`, `cmatrix` |
| 22 | + |
| 23 | +### 🎨 Interface personnalisable |
| 24 | +- Thèmes sombre/clair |
| 25 | +- Choix de polices (Monospace, Fira Mono, Consolas...) |
| 26 | +- Taille de police ajustable |
| 27 | +- Arrière-plan personnalisable (couleur ou image) |
| 28 | +- Interface responsive |
| 29 | + |
| 30 | +### 💾 Persistance des données |
| 31 | +- Historique des commandes sauvegardé |
| 32 | +- Système de fichiers persistant |
| 33 | +- Paramètres utilisateur mémorisés |
| 34 | +- Gestion des cookies et cache |
| 35 | + |
| 36 | +### 🚀 Fonctionnalités avancées |
| 37 | +- Import de commandes personnalisées JavaScript |
| 38 | +- Documentation intégrée avec `man` |
| 39 | +- Simulation Matrix avec `cmatrix` |
| 40 | +- Intégration GitHub pour les informations du projet |
| 41 | +- Système de pseudos utilisateur |
| 42 | + |
| 43 | +## 🎮 Démo en ligne |
| 44 | + |
| 45 | +Essayez la console directement : [Demo Live](https://votre-demo-url.com) |
| 46 | + |
| 47 | +## 📥 Installation |
| 48 | + |
| 49 | +### Option 1 : Clonage du dépôt |
| 50 | +```bash |
| 51 | +git clone https://github.com/Klaynight-dev/web_linux_console.git |
| 52 | +cd web_linux_console |
| 53 | +``` |
| 54 | + |
| 55 | +### Option 2 : Téléchargement direct |
| 56 | +Téléchargez et décompressez l'archive depuis les [releases](https://github.com/Klaynight-dev/web_linux_console/releases). |
| 57 | + |
| 58 | +## 🚀 Utilisation |
| 59 | + |
| 60 | +1. Ouvrez `index.html` dans votre navigateur |
| 61 | +2. La console se lance automatiquement |
| 62 | +3. Tapez `help` pour voir toutes les commandes disponibles |
| 63 | +4. Commencez à explorer ! |
| 64 | + |
| 65 | +### Commandes essentielles pour débuter |
| 66 | + |
| 67 | +```bash |
| 68 | +help # Affiche toutes les commandes |
| 69 | +ls # Liste le contenu du dossier |
| 70 | +cd /home/user # Navigue vers un dossier |
| 71 | +cat welcome.txt # Affiche le contenu d'un fichier |
| 72 | +mkdir mon_dossier # Crée un nouveau dossier |
| 73 | +touch mon_fichier.txt # Crée un nouveau fichier |
| 74 | +edit mon_fichier.txt # Édite un fichier |
| 75 | +tree # Affiche l'arborescence |
| 76 | +man ls # Manuel d'une commande |
| 77 | +``` |
| 78 | + |
| 79 | +## 🎯 Exemples d'utilisation |
| 80 | + |
| 81 | +### Navigation et gestion de fichiers |
| 82 | +```bash |
| 83 | +pwd # Affiche le répertoire courant |
| 84 | +ls -l # Liste détaillée des fichiers |
| 85 | +mkdir projets # Crée un dossier "projets" |
| 86 | +cd projets # Entre dans le dossier |
| 87 | +touch readme.md # Crée un fichier readme.md |
| 88 | +edit readme.md # Édite le fichier |
| 89 | +cp readme.md backup.md # Copie le fichier |
| 90 | +``` |
| 91 | + |
| 92 | +### Recherche et manipulation de texte |
| 93 | +```bash |
| 94 | +find . -name "*.txt" # Trouve tous les fichiers .txt |
| 95 | +grep "hello" mon_fichier.txt # Recherche "hello" dans le fichier |
| 96 | +wc -l mon_fichier.txt # Compte les lignes du fichier |
| 97 | +``` |
| 98 | + |
| 99 | +### Commandes système |
| 100 | +```bash |
| 101 | +ps aux # Liste les processus |
| 102 | +free -h # Affiche l'utilisation mémoire |
| 103 | +df -h # Affiche l'espace disque |
| 104 | +lshw # Informations matérielles |
| 105 | +ifconfig # Configuration réseau |
| 106 | +``` |
| 107 | + |
| 108 | +### Divertissement |
| 109 | +```bash |
| 110 | +cowsay "Hello World!" # Vache qui parle |
| 111 | +figlet "ASCII ART" # Texte en ASCII art |
| 112 | +fortune # Citation aléatoire |
| 113 | +cmatrix # Simulation Matrix (q pour quitter) |
| 114 | +``` |
| 115 | + |
| 116 | +## 🛠️ Développement |
| 117 | + |
| 118 | +### Structure du projet |
| 119 | +``` |
| 120 | +. |
| 121 | +├── index.html # Page principale |
| 122 | +├── contents/ |
| 123 | +│ ├── css/ |
| 124 | +│ │ └── styles.css # Styles personnalisés |
| 125 | +│ ├── js/ |
| 126 | +│ │ ├── app.js # Application principale |
| 127 | +│ │ └── cmdList.js # Métadonnées des commandes |
| 128 | +│ └── img/ |
| 129 | +│ └── logo.svg # Logo du projet |
| 130 | +├── version.js # Script de gestion des versions |
| 131 | +├── version.json # Informations de version |
| 132 | +└── README.md # Documentation |
| 133 | +``` |
| 134 | + |
| 135 | +### Ajouter des commandes personnalisées |
| 136 | + |
| 137 | +Vous pouvez importer des commandes JavaScript personnalisées : |
| 138 | + |
| 139 | +```javascript |
| 140 | +// Exemple de commande personnalisée |
| 141 | +registerCommand('hello', function(args) { |
| 142 | + const name = args[0] || 'World'; |
| 143 | + this.addOutput(`Hello, ${name}!`); |
| 144 | +}); |
| 145 | +``` |
| 146 | + |
| 147 | +Utilisez le menu "Fichier > Importer du code..." pour ajouter vos commandes. |
| 148 | + |
| 149 | +### Gestion des versions |
| 150 | + |
| 151 | +Le projet utilise un système de versioning automatique : |
| 152 | + |
| 153 | +```bash |
| 154 | +node version.js patch add "Description des changements" |
| 155 | +node version.js minor add "Nouvelle fonctionnalité" |
| 156 | +node version.js major add "Changement majeur" |
| 157 | +``` |
| 158 | + |
| 159 | +## 🔧 Configuration |
| 160 | + |
| 161 | +### Paramètres disponibles |
| 162 | +- **Thème** : Sombre (défaut) ou Clair |
| 163 | +- **Police** : Monospace, Fira Mono, Consolas, etc. |
| 164 | +- **Taille de police** : 12px à 24px |
| 165 | +- **Arrière-plan** : Couleur unie ou image personnalisée |
| 166 | +- **Historique** : Taille configurable (10-200 commandes) |
| 167 | + |
| 168 | +Accédez aux paramètres via "Outils > Paramètres" ou tapez `settings` dans la console. |
| 169 | + |
| 170 | +## 🤝 Contribution |
| 171 | + |
| 172 | +Les contributions sont les bienvenues ! Voici comment contribuer : |
| 173 | + |
| 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 |
| 179 | + |
| 180 | +### Types de contributions recherchées |
| 181 | +- 🐛 Correction de bugs |
| 182 | +- ✨ Nouvelles commandes |
| 183 | +- 📚 Amélioration de la documentation |
| 184 | +- 🎨 Améliorations de l'interface |
| 185 | +- 🔧 Optimisations de performance |
| 186 | + |
| 187 | +## 📋 Roadmap |
| 188 | + |
| 189 | +- [ ] Support des pipes (`|`) |
| 190 | +- [ ] Auto-complétion des commandes |
| 191 | +- [ ] Thèmes personnalisables |
| 192 | +- [ ] Sauvegarde cloud du système de fichiers |
| 193 | +- [ ] Support des raccourcis clavier avancés |
| 194 | +- [ ] Mode multi-utilisateur |
| 195 | +- [ ] API REST pour les commandes |
| 196 | + |
| 197 | +## 🐛 Signaler un problème |
| 198 | + |
| 199 | +Si vous rencontrez un bug ou souhaitez suggérer une amélioration : |
| 200 | + |
| 201 | +1. Vérifiez que le problème n'existe pas déjà dans les [issues](https://github.com/Klaynight-dev/web_linux_console/issues) |
| 202 | +2. Créez une nouvelle issue avec : |
| 203 | + - Description détaillée du problème |
| 204 | + - Étapes pour reproduire |
| 205 | + - Navigateur et version utilisés |
| 206 | + - Captures d'écran si pertinentes |
| 207 | + |
| 208 | +## 📄 Licence |
| 209 | + |
| 210 | +Ce projet est sous licence MIT. Voir le fichier [LICENSE](LICENSE) pour plus de détails. |
| 211 | + |
| 212 | +## 👨💻 Auteur |
| 213 | + |
| 214 | +**Klaynight** - [GitHub](https://github.com/Klaynight-dev) |
| 215 | + |
| 216 | +## 🙏 Remerciements |
| 217 | + |
| 218 | +- Inspiré par les vrais terminaux Linux/Unix |
| 219 | +- Utilise [Tailwind CSS](https://tailwindcss.com/) pour le styling |
| 220 | +- Polices de [Google Fonts](https://fonts.google.com/) |
| 221 | + |
| 222 | +## 📊 Statistiques |
| 223 | + |
| 224 | + |
| 225 | + |
| 226 | + |
| 227 | + |
| 228 | + |
| 229 | +--- |
| 230 | + |
| 231 | +<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> |
0 commit comments