Forum général.cherche-logiciel Moule/Framework pour application répartie sur plusieurs ordinateurs ?

Posté par  . Licence CC By‑SA.
Étiquettes :
0
23
sept.
2014

Bonjour,

Je cherche un moyen simple de faire fonctionner ensemble 2 (voire plus) ordinateurs pour une même application.

J'explique le contexte :
J'ai un ordinateur sous Debian avec MPD et un écran pour afficher la jaquette de la musique écoutée. J'utilise aussi cet ordinateur pour afficher des photos (diaporama) et je compte y ajouter un genre de dashboard avec la météo, ou les événements/rendez-vous prévus dans la journées, des flux RSS, etc. Cet ordinateur n'est pas une station de travail : il n'a pas de clavier ni de souris.

Sur ce serveur, X n'est même pas installé (j'utilise le framebuffer /dev/fb0, d'ailleurs pour l'instant j'utilise root pour certaines parties car des droits particuliers sont nécessaires pour émettre des sons/messages audio et afficher des images via fbi (je n'ai pas encore creusé plus en détails pour utiliser un autre compte utilisateur que root et avoir quand même accès à l'audio et à l'écran)

Évolution qui me pose problème :
Tout se commande à la ligne de commande (et via les clients MPC existants pour MPD) mais j'aimerais quelque chose de plus user-friendly.
J'ai donc idée d'utiliser un autre ordinateur (un Raspberry Pi en l’occurrence) avec un lecteur de NFC (ou un pavé numérique par exemple) pour commander avec simplicité le premier (via le réseau) : une touche ou un tag actionnerait une programme défini (dashboard, photos, etc.).

Mon besoin :
Vu que la première partie (exécuter et restituer) fonctionne en ligne de commande : je me dis qu'il existe peut-être un logiciel qui me permette d'exécuter des commandes sur un ordinateur A depuis un autre (à part une session SSH qui me semble trop "overkill" pour ça). Le tout sans avoir à développer une application n-tiers complexe à base de client/serveur et protocoles de messages (disclaimer: je suis développeur web).
Il faudrait quand même un minimum de sécurité : authentification, voire chiffrement.

Au final, mon ensemble de scripts peut être considéré comme une application complète dont les parties se trouveront sur plusieurs ordinateurs (2 pour l'instant mais je n'exclue pas d'en rajouter).

  • # pourquoi pas ssh ?

    Posté par  . Évalué à 4.

    Si je comprends bien, tu veux qu'en fonction de diverses actions de l'utilisateur sur les périphériques du petit ordinateur A des actions soient lancées sur le gros ordinateur B.

    Le plus simple est certainement d'utiliser ssh depuis A (avec authentification par biclé), par exemple :

    ssh toto@B 'cat /etc/passwd'

    • [^] # Re: pourquoi pas ssh ?

      Posté par  . Évalué à 2.

      Je suis d'accord, surtout s'il faut de l'authentification et du chiffrement, ssh reste le plus simple, et de loin.

      Maintenant, si c'est trop "overkill" il y à toujours telnet, netcat, ce genre de choses. Mais c'est crade et pas sécurisé. Quoiqu'on puisse peut-être "sécuriser" un "tunnel netcat", avec "un peu" de glue et des trucs comme openssl, gnupg, etc. Mais franchement, réinventer ssh en plus crade, je vois pas l'intérêt.

      • [^] # Re: pourquoi pas ssh ?

        Posté par  . Évalué à 1.

        En écrivant mon post je me suis rendu compte que le vrai frein à l'utilisation simplissime de SSH était le fait que les commandes tournent parfois en root. Mais si j'arrive à régler ce soucis et limiter au maximum les commandes que peut exécuter l'ordinateur A sur l'ordinateur B via SSH devrait pouvoir coller.

        Qu'est-ce qu'une authentification "biclé" ?

        • [^] # Re: pourquoi pas ssh ?

          Posté par  . Évalué à 2.

          sudo permet une gestion très fine des droits. Sinon, les groupes unix et le bit S c'est cool aussi.

          Please do not feed the trolls

  • # interface web

    Posté par  . Évalué à 2.

    parce qu'en fait, ce n'est pas une application de calcul partagé, c'est juste une machine centrale, avec des actions de postes clients.

    finalement une interface web voire rest/soap pourrait te suffire,
    si c'est web, n'importe quel client web sur ton reseau peut afficher la page du serveur et interragir avec (telephone, tablette, ordi
    si c'est rest/soap, il faut ensuite avoir un client qui cause rest/soap vers ton serveur et qui envoie les bonnes chaines au serveur.

    • [^] # Re: interface web

      Posté par  . Évalué à 1.

      Dans l'idée je risque d'utiliser un logiciel de Domotique pour certains aspect et notamment le déclenchement des commandes via smartphone ou autres. Mais, à part si je trouve un framework/outil assez simple pour rajouter une couche REST/SOAP au processus de communication entre l'ordinateur A (qui envoi la commande) et l'ordinateur B (qui fait des choses en recevant la commande) le SSH restera le plus simple (voir mon commentaire du 24/09/14 à 17:35).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.