NodeOS : l'OS léger basé sur le noyau Linux, Node.js et le gestionnaire de paquets npm
Approche sa première version majeure

Le , par Michael Guilloux, Chroniqueur Actualités
C est le langage de programmation le plus souvent utilisé quand il s’agit d’écrire des systèmes d’exploitation. Toutefois, quelques projets d’OS ont vu le jour, avec un noyau ou un espace utilisateur écrit dans des langages autres que C. On peut par exemple citer le projet Redox qui vise à fournir un système d’exploitation entièrement écrit avec Rust. NodeOS s’inscrit dans la même initiative que ce projet.

NodeOS est en effet un projet open source qui vise à écrire un système d’exploitation complet, mais léger. Ce système repose sur le noyau Linux, la plateforme logicielle libre et événementielle en JavaScript connue sous le nom de Node.js, ainsi que Node Package Manager (npm). Comme son nom peut l’indiquer, Node Package Manager est le gestionnaire de paquets officiel pour Node.js.


NodeOS est annoncé comme le premier système d’exploitation géré par npm et il utilise Node.js comme espace utilisateur. Le but de l’OS est de fournir juste le nécessaire pour que le gestionnaire de paquets de Node.js puisse fournir le reste. Les logiciels seront donc fournis via les paquets npm, ce qui est un avantage considérable pour le projet au vu de la richesse des bibliothèques npm. Il faut en effet noter que le gestionnaire enregistre plus de 200 000 paquets, et comme il est indiqué sur GitHub, « tout paquet dans npm est un paquet NodeOS ». Ce qui signifie également que toute contribution au projet npm est de fait une contribution au projet NodeOS.

Étant donné que NodeOS utilise le noyau Linux existant, la plupart des logiciels écrits pour Linux devraient en théorie pouvoir fonctionner avec l’OS. Ce qui serait un avantage supplémentaire.

Le système vise les environnements de cloud computing ainsi que des matériels ayant des caractéristiques minimales. Le projet NodeOS va en effet fournir des images qui peuvent être exécutées sur :

  • un matériel réel comme les ordinateurs de bureau, les ordinateurs portables, les serveurs ou Raspberry Pi ;
  • les environnements de cloud computing des fournisseurs tels que Joyent, Amazon, Rackspace ou Heroku ;
  • les machines virtuelles comme QEmu, VirtualBox, VMware et KVM ;
  • les conteneurs comme Docker ou Vagga.

À ce stade, NodeOS supporte seulement les processeurs x86, mais il serait également prévu un support pour les processeurs ARM, avec une interface graphique basée sur HTML5. Le projet a déjà fait l’objet de distinctions particulières en remportant le 9e championnat d’Espagne du logiciel libre. Il participe actuellement à la 10e édition de ce championnat. L’OS se prépare à livrer sa version 1.0 pour atteindre un public plus large en dehors de ses premiers testeurs.

Sources : GitHub, node-os.com

Et vous ?

Que pensez-vous de ce système d’exploitation ?

Voir aussi

Forum Systèmes
Forum Linux


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de air-dex air-dex - Membre émérite https://www.developpez.com
le 25/11/2015 à 0:00
NodeOS peut être intéressant dans le cas où on veut juste avoir un serveur Web sur la machine hôte. Point de superflu puisqu'on aurait juste de quoi faire tourner Node.js et NPM, donc le serveur et de quoi déployer des choses dessus.
Avatar de BufferBob BufferBob - Expert éminent https://www.developpez.com
le 25/11/2015 à 6:41
hmm.. je suis pas certain de bien comprendre, y'a un noyau Linux standard ok... et ensuite ? le shell, les commandes de base, le WM etc. c'est tout du re-codé from scratch en Node.js ?

Edit: bon ben en fait oui, il semblerait bien que ce soit l'idée, basiquement c'est un initramfs qui boot directement une runtime Node.js, j'ai du mal à voir si c'est vraiment intéressant en soit...
Avatar de air-dex air-dex - Membre émérite https://www.developpez.com
le 25/11/2015 à 17:02
Citation Envoyé par BufferBob Voir le message
j'ai du mal à voir si c'est vraiment intéressant en soit...
Cela a les avantages du minimalisme. Une telle installation est forcément moins lourde qu'un serveur LAMP, qu'un serveur d'applications Java EE, ou même qu'un système classique sur lequel on aurait installé Node.js afin de s'en servir en tant que serveur. C'est forcément plus léger et ça peut donc aller dans bien plus d'endroits. Je n'irai pas jusqu'à parler d'embarqué, car après tout Node.js ne sert pas qu'à faire que des serveurs Web, mais je le pense fortement.
Avatar de chrtophe chrtophe - Responsable Systèmes https://www.developpez.com
le 25/11/2015 à 17:51
Cela a les avantages du minimalisme. Une telle installation est forcément moins lourde qu'un serveur LAMP,
En quel sens c'est moins lourd ? sans PHP et Mysql oui mais sinon ?

Je ne sais pas si node.js est aussi puissant que PHP (je connais que de nom). Moi je vois bien ça pour de l'embarqué.

c'est tout du re-codé from scratch en Node.js ?
Je pense que c'est plutôt comme pour Android, ça tourne sur noyau linux mais tu n'as accès qu'à la surcouche Android. Ou peut être en émulation ?

À ce stade, NodeOS supporte seulement les processeurs x86, mais il serait également prévu un support pour les processeurs ARM
Aucun obstacle, le moteur Javascript de Node.js tourne sur x86 et ARM (vu sur Wikipedia).
Avatar de air-dex air-dex - Membre émérite https://www.developpez.com
le 25/11/2015 à 19:23
Citation Envoyé par chrtophe Voir le message
En quel sens c'est moins lourd ? sans PHP et Mysql oui mais sinon ?
Peut-être pas sans MySQL (quoique, avec ce genre de techno SQLite sera sûrement le plus utilisé), mais sans Apache, sans Perl, sans Python, sans Ruby, sans PHP, sans JVM, sans Java EE, sans un serveur d'applications type Glassfish ou Tomcat, sans tout ce qui ne sert pas au "serveur Web embarqué".
Avatar de singman singman - Membre actif https://www.developpez.com
le 26/11/2015 à 16:00
Oui mais il existe déjà des OS spécialisés pour un serveur Web, écrit en assembleur et optimisés pour l'IoT. Le seul avantage que je vois a ce projet, c'est l'ensemble de la bibliothèque Node.js.
Avatar de aurel_dev aurel_dev - Candidat au Club https://www.developpez.com
le 01/12/2015 à 14:57
Limité NodeJS a un simple serveur web ? ...
Je fait de la domotique avec NodeJs, certes la simplicité du serveur web aide, mais je code les instructions pour mes GPIO en NodeJS aussi !
Ne sous estimez pas npm et la quantité de package que l'on peut trouver !
Avatar de air-dex air-dex - Membre émérite https://www.developpez.com
le 03/12/2015 à 15:41
Citation Envoyé par aurel_dev Voir le message
Limité NodeJS a un simple serveur web ? ...
Je fait de la domotique avec NodeJs, certes la simplicité du serveur web aide, mais je code les instructions pour mes GPIO en NodeJS aussi !
Ne sous estimez pas npm et la quantité de package que l'on peut trouver !
Bien sûr que non. Je suis moi-même le premier à dire que Node.js n'est pas un serveur Web mais un interpréteur JavaScript lambda. Mais dans le cas de l'embarqué (dont la domotique), Node.js ne me semble guère indiqué pour autre chose que des serveurs Web. Il y a sûrement des tas d'autres technologies bien plus performantes et indiquées pour cela, non ?
Contacter le responsable de la rubrique Accueil