
Nightos est un environnement de bureau basé sur une distribution Linux personnalisée. Il utilise la technologie Electron et NodeJS pour accéder au système de fichiers, gérer les connexions réseau et gérer les applications en toute sécurité.
Nightos fonctionne comme une très grande application JavaScript, qui s'exécute sur une base d'électrons Linux +. Ce projet vise à démontrer la puissance de JavaScript en faisant un système d'exploitation complet avec cette langue, donc la plupart des tâches qui peuvent être gérées par elle seront effectuées en utilisant JS. Le système Linux fonctionne comme une interface, une couche qui permet à JavaScript de gérer les connexions réseau, d'accéder au disque dur et d'autres choses de bas niveau.
Nightos est un système d'exploitation purement théorique. Je ne sais pas si je vais faire une version de travail de Nightos un jour, et même si je le fais, ce sera un système d'exploitation très non garanti parce que je ne sais pas beaucoup de choses sur la sécurité de la programmation (même des choses de base telles que les débordements de tampon, ROPS ...); En fait, les seuls techniciens de sécurité que je connaisse sont des choses générales comme le chiffrement, les certificats, les sommes de contrôle et l'IPC par exemple - pas assez du tout pour un système complet.
En fait, j'ai fait Nightos plus pour le plaisir et en utilisant des fonctionnalités JavaScript et Node.js plus profondes. Je ne vis pas du tout à faire un meilleur système d'exploitation que Windows, Mac ou Linux - sans même y faire une alternative. Faire un système d'exploitation plein de JavaScript n'est tout simplement pas possible en raison de nombreux problèmes, comme la vitesse lente de JS devant les langues maternelles comme C ++ ou Rust, et le problème pour les développeurs pour porter leurs applications dans Nightos (même s'il existe des outils pour cela, comme Emscripten).
C'est aussi un moyen de démontrer la puissance de la langue javascript, qui est à ce que je pense la plus mal comprise dans le monde du développement. En rendant un système entièrement fonctionnal qui gère un système Linux, des applications, un environnement de bureau, plusieurs comptes d'utilisateurs, plusieurs processus, une grande API et des processus d'isolement, je pense que cela pourrait être une excellente preuve que JavaScript est un langage puissant - lorsque vous le comprenez et savez comment utiliser ses fonctionnalités profondes.
J'ai publié deux versions précédentes de Nightos. Vous pouvez les trouver sur mon github: v1 et v2.
V1 a beaucoup de problèmes et V2 n'était pas suffisant pour être un système d'exploitation. J'ai donc décidé de redémarrer le projet à partir de zéro et de garder les principales idées du projet (une sécurité vraiment solide, des autorisations pour les applications ...) et j'ai fait cette nouvelle version de Nightos.
Il y a des points similaires avec les anciennes versions: le système fonctionne toujours avec les applications, qui nécessitent des autorisations afin d'accéder au stockage / Web / gérer Windows / ... mais maintenant le système d'autorisations est beaucoup plus fort, très permissif et il est désormais possible de faire des applications débouchées, des programmes qui s'exécutent sans avoir à être installés (comme .exe sur Windows, mais avec des permis).
Donc, même si vous trouvez les deux vieilles versions vraiment mauvaises, celle-ci est très différente, donc j'espère que vous l'apprécierez;)!
Nightos peut fonctionner sur n'importe quel ordinateur bas de gamme. Vous n'avez pas à vous soucier des performances de votre machine. Si vous voulez vraiment avoir des spécifications, il y a ici:
C'est tout! Détendez-vous et profitez :).
L'installation nécessite que NodeJS, NPM et GIT installés sur votre machine. Sur Linux, vous pouvez exécuter sudo apt-get install nodejs npm git . Sur Windows, visitez simplement ces trois sites Web pour obtenir les programmes d'installation de chaque logiciel.
Pour installer Nightos, ouvrez une ligne de commande et exécutez le code suivant:
git clone https://github.com/ClementNerma/NightOS # Download NightOS
cd NightOS # Go to the NightOS directory
npm install # Install the npm dependencies
npm start # Start NightOS ; `node start.js` also worksVous pouvez également exécuter Nightos en mode développement (voir plus dans les documents):
# The simple way
npm run devCe projet est publié sous la licence publique générale GNU (GPL). Si vous souhaitez modifier mon travail et publier des modifications, veuillez me contacter en premier afin que je puisse voir pourquoi et comment vous avez modifié Nightos - même si vous n'êtes pas obligé de le faire. J'ai réalisé ce projet principalement pour le plaisir et démontré la puissance du JavaScript, donc j'aimerais savoir quelles améliorations peuvent être apportées.
Certaines des polices ne peuvent pas être utilisées en vertu des termes GPL; Vous devez vous référer à leur licence d'origine.
Le logiciel est fourni "tel quel" et l'auteur décline toutes les garanties en ce qui concerne ce logiciel, y compris toutes les garanties implicites de qualité marchande et de forme physique. En aucun cas, l'auteur ne sera responsable des dommages spéciaux, directs, indirects ou conséquents ou de dommages-intérêts résultant d'une perte d'utilisation, de données ou de bénéfices, que ce soit dans une action de contrat, de négligence ou d'autres actions délictuelles, résultant ou en relation avec l'utilisation ou les performances de ce logiciel.
Nightos a été construit à l'aide de Nodejs et d'électron. Les icônes proviennent d'Icons8, de Joe Parks et de Font-Awesome.