Journal : Nestor, serveur domestique

Posté par Nicolas Deveaud () le 20 août 2008
1
Dans son journal "Applications web vs applications classiques: quid du futur ?", Tanguy_k pointe le doigt sur le conflit entre application web et application desktop.

Ce sujet m'ayant intéressé, j'ai commis un commentaire un petit peu long, dans lequel je présente ma vision du futur, plutôt positionnée entre les deux options : Un serveur domestique, ou serveur perso, sur lequel seraient stockées les données, et installées des applications serveurs diverses. Par exemple on pourrait avoir sur ce serveur le lecteur mpd, pour lire et diffuser de la musique (musique stockée elle-même sur le serveur).

Pour ne pas abuser, j'ai arrêté mon commentaire. Mais ensuite d'autres choses me sont venu en tête, et donc je ne résiste pas à les soumettre ici.


Divers utilisation de ce type de serveur :
- Filer (Accès, partage, stockage de fichiers)
- Musique / vidéos (stockage, partage, lecture à distance)
- Photos
- Bureautique (Stockage, édition collaborative, édition à distance)
- Annuaire (Partage, accès a distance, utilisation par d'autres applis)
- Serveur mail
- Divers fonctions web, genre blog etc...
- Serveur de configuration (stockage et partage de configs de divers applis)
- p2p (c'est mieux quand c'est sur un serveur allumé 24/24 :D)
- clusterisation pour des opérations lourdes (rendu 3D, encodage vidéo etc..)
- serveur de jeu (il va finir sur les genoux le pauvre serveur)

D'autres utilisation peuvent être trouvées j'en suis sur.


Un gros problème de ce truc, c'est que ça demande d'avoir chez soit un serveur, et de configurer ce serveur !! Et là actuellement c'est plutôt compliqué à faire. Il faudrait donc adapter un peu nos applications et nos distributions afin de rendre les choses plus faciles.


Imaginons que j'ai chez moi deux ordinateurs: Un sera destiné à être serveur (Nestor), l'autre sera un pc de bureau (Polux).

Lorsque j'installe mon OS sur Polux (C'est le pc de bureau dont je parle, vous suivez ?), il me demande si je souhaite utiliser un serveur domestique, et si c'est le cas il configure ce qu'il faut pour s'y connecter. Polux saura alors que Nestor est là pour jouer le rôle de serveur domestique. Pour le cas ou rien n'est installé sur Nestor, Polux me propose une solution d'installation d'un serveur domestique sur Nestor (disquette/clef USB de boot, tout ça.... :p ).

Par la suite, si j'installe mpd sur Polux par exemple, et bien, étant donné que je lui ai parlé de Nestor, il va me proposer d'installer mpd directement sur Nestor, et d'installer en local simplement un client mpd, mpc par exmple, configurer pour se connecter à Nestor.
Si je lui demande d'installer open-office, Polux me proposera automatiquement d'installer en plus sur Nestor la partie serveur de Open-Office permettant d'avoir par exemple une interface web simplifiée pour l'édition de mes documents, un mode d'édition collaborative ou des trucs du genre.
Lorsque j'installerai Firefox, Polux ira automatiquement voir si Nestor à un serveur de configuration pour synchroniser les profiles Firefox sur plusieurs postes. Si il n'y a pas de serveur de configuration sur Nestor, Polux me proposera d'en installer un.

Quelques jours plus tard, mon frère sur son propre ordi (Polux2) souhaite installer kimdaba (gestionnaire de photos). Polux2 (qui à entendu parlé de Nestor) lui propose automatiquement d'installer sur Nestor une partie serveur pour kimdaba permetant d'avoir une interface web, de récolter des commentaires et des annotations sur les photos. Grâce à ça je pourrais me connecter à Nestor avec mon téléphone portable (OpenMoko biensur), et mettre une photo de ma famille en fond d'écran en accédant à mes albums photos par un client kimdaba léger.

Ainsi, la gestion de Nestor devient totalement transparente. Au cours de l'installation de divers logiciels sur divers postes, des outils complémentaires seront installés sur le serveur.




C'est bien beau, mais comment on fait pour que ça installe automatiquement sur le serveur ??

Fatalement, c'est un point délicat. Je pensais au début à une connexion ssh pour pouvoir lancer les commandes qu'il faut (apt-get etc..), ou d'autres solution du genre.
Mais cela pose un problème de dépendance. Il ne faut pas que le serveur soit dépendent d'un poste client en particulier, ou d'un OS particulier sur le poste client.

Il faut qu'avec un poste client et n'importe quel OS on puisse manipuler le serveur domestique pour le configurer ou lui ajouter/supprimer des applis.

Il faudrait donc mettre en place un protocole simple permettant à un client de questionner le serveur, et lui faire installer ou supprimer des éléments. Ça existe peut être déjà, je n'en sais rien. Mais avec un système de ce genre, tout devient très simple :D.

Lors de l'installation d'une appli sur Polux, il va demander via ce protocole à Nestor si il connait l'application en question. Nestor lui répondra, soit qu'il l'a déjà installée, soit qu'il la connait mais qu'elle n'est pas installée, soit qu'il ne la connait pas.
Du coup si besoin, et si possible, Polux demandera à Nestor d'installer l'appli.
Ensuite il faut aussi que l'appli soit configurable à distance, mais c'est une autre histoire :)



Ainsi, à partir de deux PC vides, il est très simple de mettre en place une solution super pratique de serveur domestique.


Ce serait quand même vachement cool, non ?

> Lire le journal (39 commentaires, moyenne: 1,8).  

Vous avez demandé le commentaire #958199.

Jolies pensées :-)

Posté par Kerro () le 20/08/2008 à 22:15. (lien). Évalué à 4.

Ton idée est jolie, mais il manque à mon sens l'essentiel: avant que tout soit automatisé, il faudrait tout bêtement que ça fonctionne "out of the box" et que ce soit facilement administrable "de base".

Pour une personne qui veut une configuration tip-top, ok. Plonger dans les docs, se palucher les ficheirs de config, pas de problème. Mais pour madame Michu, elle fait comment ?

Je prends l'exemple simple de ce que tu appeles le filer (un serveur de fichiers quoi). Tu en connais un qui fonctionne avec des paramètres tout simples dès qu'on l'a installé ?
... Windows ... Ah ben oui. Clic clic clic, je met le répertoire en partage et hop. C'est non sécurisé ? Ah bon ? Madame Michu n'en sait rien du tout et en plus elle s'en fiche.

Il n'est pas possible pour madame Michu de simplement aller dans son gestionnaire d'application Ubuntu et de cliquer sur "serveur de fichiers pour la maison" et hop, c'est installé. Installé de manière basique, standard, sans surprise et, important, administrable autrement qu'en allant dans ce bon sang de fichier /etc/chose.conf en décommentant la ligne "AllowFooBar=yes" et en relançant le démon. Et surtout en n'ayant pas à demander à google comment on fait pour que ça fonctionne.

Un exemple tout frais: j'ai mis en place PowerDNS. Un bon petit serveur. Il sait entre autres utiliser les fichiers de configuration de Bind. Ok, très bien. Mais il tient compte de quoi dans ces fichiers ? Ce n'est pas indiqué dans la doc. Il faut donc aller dans le code source pour tenter de trouver la réponse. Je sais lire un code source de cette taille, ça va encore, mais j'y ai passé plus de deux heures. Et en plus je me suis rendu compte que des options supplémentaires sont disponibles dans le fichier de configuration générale du logiciel. Options parfaitement indispensables pour qu'il puisse utiliser correctement les fichiers venant de Bind. Rien de tout cela n'est indiqué dans la documentation officielle. Dans un cas comme celui-là (et il y en a beaucoup), non seulement madame Michu est hors circuit, mais également la (quasi) totalité des utilisateurs avertis, ainsi qu'une grosse majorité d'informaticiens.

A mon très humble avis, il manque vraiment la brique de base dans tout ça: une interface (web?) d'administration qui soit standard. Afin que les développeurs de PowerDNS ou de Samba ou de Baccula ou de etc etc puissent faire ce qu'il faut sans pondre 2000 lignes de code adapté à la célèbre interface web de gestion (hyper bugguée et de toute manière hyper pas complète puisque peu de logiciels sont supportés).

Utopie: madame Michu sélectionne le bon paquet à installer (madame Michu n'est pas non plus idiote, elle sait télécharger et installer sous Windows, alors elle sait ouvrir Synaptic et autre). Elle valide son choix, ça mouline, ça installe le logiciel, ça installe les fichiers pour l'interface web et voilà. Ensuite elle se rend dans le centre de contrôl (web donc) et elle voit une nouvelle entrée dans le menu pour ce qu'elle vient d'installer. Admettons que ce soit le filer, elle clique dessus, elle peut cocher/décocher les options, entrer des noms d'utilisateurs etc.
Et en web, ça veut dire que ça fonctionne avec la machine qui est dans le cellier, sans écran, qui sert de serveur. Ca veut dire que ça fonctionne à distance chez l'oncle René qui n'y comprend rien satané modernisssse, mais qui veut partager les photos du petit.

  • [^]Re: Jolies pensées :-)

    Posté par Nicolas Deveaud () le 20/08/2008 à 22:40. (lien). Évalué à 2.

    Evidemment, la base de tout ça est la simplicité d'utilisation. Donc s'il faut aller tripatouiller des fichier de config divers et variés, qu'il faut accéder à ces fichiers en ssh et les éditer avec VI, et qu'enfin il faut relancer quelques démons avant que ça marche.... Madame Michu va te prendre pour un Sataniste moderne et refuser de toucher à tes sataneries :D


    Je suis tout à fait d'accord avec toi. Un/des outil(s) de configuration simple, c'est la base de tout.
    Mais c'est pas comme si c'était impossible. Il y a quelques années, on ne pouvait pas avoir un bureau sous linux sans toucher un terminal ou un fichier d'config. Alors que désormais il est quand même généralement possible d'arriver à faire plein de choses sans une ligne de code ou une édition de fichier d'config.
    Donc ce problème n'est en fait qu'un but. Il ne reste plus qu'a se mettre au travail pour le réaliser :D

    • [^]Re: Jolies pensées :-)

      Posté par Kerro () le 20/08/2008 à 23:59. (lien). Évalué à 3.

      Il ne reste plus qu'a se mettre au travail pour le réaliser
      Chiche ?!
      Je suis certain que dans les parages de ce bouchot, il y a des gens qui pensent comme nous et qui sont prêts à déposer leurs idées ; surtout les idées inutiles, nous ne sommes pas informaticiens (éventuellement du dimanche) pour rien.

    [^]Re: Jolies pensées :-)

    Posté par e-t172 (page perso, ) le 20/08/2008 à 23:20. (lien). Évalué à 1.

    L'idée, si j'ai bien compris, est d'avoir des distributions spécialement adaptées à ce genre d'usage, surtout pour Nestor. Dès lors, on peut obtenir quelque chose de simple à configurer, car comme la distribution est spécifique à cet usage, sa configuration par défaut spécialement étudiée devrait très bien faire l'affaire. Par exemple, par défaut, elle pourrait configurer Samba pour écouter sur le réseau local et non sur le Net, ou ce genre de choses spécifiques à un serveur domestique.

    J'approuve fortement l'idée du journal. J'ai moi-même un serveur perso dont la philosophie colle parfaitement à l'idée de l'auteur, et je trouve ça absolument génial en termes de liberté, de souplesse et de possibilités. Diffuser le concept au grand public ne peut être que bénéfique.

    • [^]Re: Jolies pensées :-)

      Posté par Kerro () le 21/08/2008 à 00:04. (lien). Évalué à 2.

      L'idée, si j'ai bien compris, est d'avoir des distributions spécialement adaptées à ce genre d'usage
      Je vois plutôt cela comme un standard. Du genre "la norme pour l'interface de gestion est...".

      Si on parle de distributions spécifiques, il en existe déjà quelques unes dans différents domaines. Ce que je leur reproche c'est de ne pas être différentes des autres, et d'être, au final, souvent moins faciles à étendre. Par contre, ce qui est "fait pour" est en principe facile à administrer. Tu installes l'ensemble en une seule fois, tu configures avec un navigateur et ça roule. C'est le point fort. Reste que ça nécessite d'adapter à chaque fois une interface de configuration. Si il y a 5 distribution comme ça qui incluent Samba, alors il y a 5 interfaces différentes (5 fois plus de bugs, les programmeurs sont répartis sur 5 projets au lieu d'un, etc).

      • [^]Re: Jolies pensées :-)

        Posté par Farvardin (page perso, ) le 21/08/2008 à 08:00. (lien). Évalué à 2.

        quelques remarques :
        - partager un dossier simplement sous linux, cela fonctionne avec gnome et kde (peut-être avec d'autres). Pour gnome cela semble basique mais est possible de base pour n'importe quel utilisateur. Pour kde il faut le mot de passe superutilisateur, mais on peut proposer d'activer un partage simple de fichiers. Il manque quand même d'installer une protection basique, et simple, de partage : un simple mot de passe. Peut-être que ce n'est pas le plus sécurisé, mais dans un réseau local cela peut être pratique et surtout cela reste simple.

        - une interface de gestion web, cela existe et fonctionne bien : webmin
        Cela me semble plus ou moins le standard à ce niveau.

        Enfin, un serveur web personnel, pourquoi pas, mais je verrais plus cela comme la possibilité de basculer son ordinateur personnel principal en serveur web lorsque l'on est en déplacement, que comme un système qui le remplacera complètement. Surtout que par wifi (bonjour les ondes...) ou par ethernet, le débit n'est pas aussi confortable que sur un disque dur local. Mais certaines idées sont intéressantes, par exemple pour le partage des photos, cela serait pratique de gérer cela à partir d'un ordinateur, et que depuis les postes clients ont puisse faire éventuellement des modifications de base (et avancées) comme sur flickr par exemple.

        Sinon ce n'est pas un peu l'idée d'Ulteo cela ?

        De plus, si on utilise un second serveur ou un serveur public destiné à être partagé avec le reste de la famille (ce qui permet aussi de faire des sauvegardes), pouvoir synchroniser les données de l'ordinateur principal, en flux continu mais au fur et à mesure (sans prendre toute la bande passante), et si des modifications sont faites sur le serveur par un tiers, pouvoir récupérer les modifications (comme avec rsync / unison).
        Autre idée : utiliser une sorte de p2p local (freenet ?), pour que toute modification faite sur un poste, se répercute sur les autres. Cela ajoute la préservations des données par redondance.

        Et pour la rédaction de documents "openoffice" et de bureau à distance, dans le cas de déplacements de l'utilisateur, je crois plus dans l'affichage déporté, que dans l'utilisation d'applications web.

        • [^]Re: Jolies pensées :-)

          Posté par Kerro () le 21/08/2008 à 11:57. (lien). Évalué à 2.

          partager un dossier simplement sous linux, cela fonctionne avec gnome et kde
          C'est exactement l'inverse que ce qu'il faut. Ca n'est possible qu'en ayant un serveur X, et ça ne fonctionne QUE pour le partage, pas pour le reste. Alors installer un serveur X juste pour partager des répertoires c'est amusant une fois et ça s'arrête là.

          une interface de gestion web, cela existe et fonctionne bien : webmin
          Nous n'avons pas dû utiliser la même alors :-)
          Question bugs, webmin se pose là.

      [^]Re: Jolies pensées :-)

      Posté par el_mickey () le 21/08/2008 à 00:55. (lien). Évalué à 1.

      Le problème pour que ça se diffuse c'est qu'il faut des machines à bas cout et consommant très peu. Un eeepc en fait, mais en mais avec un gros disque et pas d'écran.

      • [^]Re: Jolies pensées :-)

        Posté par Ph Husson () le 21/08/2008 à 01:12. (lien). Évalué à 1.

        Les EEE ont pas le monopole du bas coùt à basse consommation, loin de là...
        Les MIPS et Arm (qu'on retrouvent dans la plupart des routeurs, NAS, téléphones, etc.) jouent largement mieux à ca.

        • [^]Re: Jolies pensées :-)

          Posté par el_mickey () le 21/08/2008 à 10:03. (lien). Évalué à 2.

          Nan mais on s'en balance du processeur qu'il y a dedans. C'était juste pour dire que ce qui serait très bien pour faire diffuser une distro telle que celle présentée, ce serait une machine type eeepc mais en serveur.

        [^]Re: Jolies pensées :-)

        Posté par Aldoo (Jabber id, ) le 21/08/2008 à 06:34. (lien). Évalué à 3.

        Un peu comme une eeeBox, en fait ?
        http://www.blogeee.net/2008/06/25/exclu-eeebox-les-images-sp(...)

        • [^]Re: Jolies pensées :-)

          Posté par el_mickey () le 21/08/2008 à 10:13. (lien). Évalué à 1.

          Je ne connaissais pas et c'est vrai que ça à l'air pas mal.
          Bon aprés si elle pouvait avoir un disque un poil plus gros ce serait nickel. Et pas que du windows en France.

        [^]Re: Jolies pensées :-)

        Posté par vincent_k (Jabber id, page perso, ) le 21/08/2008 à 11:08. (lien). Évalué à 2.

        Je pense qu'un serveur domestique peut se résumer à un nas avec un raid 1, configurable par une interface web avec webwin, ça semble tout à fait adapté et adaptable.

        Il me semble de Linksys fournit plus ou moins les sources de ses nas et le NAS200 me semblerait adapté, à voir.

        [^]Re: Jolies pensées :-)

        Posté par Kerro () le 21/08/2008 à 12:00. (lien). Évalué à 1.

        il faut des machines à bas cout
        Vu que les ceux qui ont un ordinateur à la maison en change au moins tous les 4 ans, la machine à bas coût devient gratuite.

        et consommant très peu
        Pour ?
        60 watts pour une machine tout à fait ordinaire (sans moniteur) ça fait 52 € par an.