[WIP] Recalbox Manager



  • Hi community! You can help me by translating the manager on POEditor with languages of your choice! ;) https://poeditor.com/join/project/taFNFlZ840


    Bonsoir les recalboxeurs,

    Tout ce qui a été dit ci-dessous n'est plus à jour car le manager a évolué depuis et n'est plus codé dans le même langage (je suis passé de PHP à NodeJS).
    Pour avoir une version "à jour" de ce qu'il en est c'est à partir de ce message qu'il faut se référer : https://forum.recalbox.com/topic/3768/wip-recalbox-manager/100

    Je suis actuellement en train de développer un outil qui se base sur l'API REST de recalbox afin d’interagir avec cette dernière.
    Merci à @neolao pour ce qu'il fait, on est 2 à tester son API maintenant ;-P

    Pour ce qui est de l'outil en lui-même, il ne fait que ce que l'API propose de faire et évolue donc en même temps qu'elle pour le moment, surtout que je suis loin d'avoir implémenté toutes les possibilités déjà existantes.

    Le code est disponible sur mon GitHub : https://github.com/DjLeChuck/recalbox-manager-php

    Je ne donne aucune explication sur comment l'utiliser pour le moment car je voudrais essayer à terme de rendre ça automatique / invisible pour tous les utilisateurs afin de ne pas avoir à bidouiller de fichiers (et surtout car actuellement cela demande un serveur web en local pour fonctionner...). Mais pour ceux que cela intéresse il suffit de modifier le fichier /public/.htaccess pour définir l'environnement de dév' et /config/recalbox.dev.json pour définir l'IP de la recalbox.

    Voici 2 screens de l'état d'avancement :
    0_1471893768924_rmp-config.png 0_1471893484541_rmp-audio.png


  • Moderator
    Team

    @DjLeChuck
    Woua , excellentissime, un très bon projet que je vais suivre avec intérêt , j'ai enfin compris à quoi servait l'API (mdr on se moque pas les gars) Je vais attendre avec intérêt une 1ere version aboutie :D userfriendly :D


  • Moderator
    Team
    Creator
    Moderator

    Alors là, chapeau l'artiste!!!

    C'est beaucoup plus sympa que l'interface web actuelle :)


  • Moderator
    Team

    Super boulot :) ai-je bien lu php ? :/


  • Themer

    cool exactement ce qui manquait à Recalbox pour être presque parfait(e) !

    J'espère que ce sera responsive pour pouvoir y accéder facilement sur smartphone et tablette ?



  • @subs oui tu as bien lu :P mais je vais voir pour passer ça en Node JS plutôt

    @voljega oui tout à fait design responsive mon but sera surtout de l'utiliser sur mon téléphone ;)



  • Salut @DjLeChuck
    Penses-tu possible d'ajouter une page de login / mot de passe ? Ça manque cruellement à la version présente de recalbox-manager :(



  • @valvolt Je me pose la question de la sécurité d'accès oui, que ce soit sur l'interface que je développe ou sur l'API gérée par @neolao car actuellement n'importe qui peut gérer la recalbox si l'API est activée. :)


  • Moderator
    Team

    J'ai ouvert une issue au sujet de la sécurité https://github.com/recalbox/recalbox-os/issues/1032
    Il vaut mieux que l'accès soit géré par l'api et non pas par les différents clients



  • Nickel @MikaXII c'est la solution à faire en effet. Reste plus qu'à voir ce qu'en pense @neolao


  • Moderator
    Team

    osef le login. Il ne faut l'activer que dans le cas où le omde secure est activé (cf recalbox.conf)


  • Moderator
    Team

    @DjLeChuck avec @neolao on avait regardé pour un format du recalbox.conf qui serait TRES explicite sur comment gérer les différentes valeurs. Cf https://gist.github.com/substring/e473f24275f25a23cd3ba3c797df74b1



  • @subs Comment fonctionne ce mode secure de recalbox ? Une fois activé le password se définit comment ?

    Pour la config, oui le format est explicite, la seule interrogation qu'on avait concernait l'utilisation des double quote pour entourer les valeurs ; Au final on voit bien qu'il ne faut PAS les utiliser. Donc une fois que @neolao aura fait la modif sur son API ça sera OK (je l'ai faite sur ma recalbox et pas de problème)


  • Moderator
    Team

    @DjLeChuck tu es sûr que tu as bien regardé le fichier ? Selon les commentaires qui précèdent une variable, tu sais si tu as un bouton on/off, une saisie libre, une dropdown etc ... Seul neolao était au courant de ce truc, il t'a filé le lien ? Sachant que ce n'est pas encore intégré à recalbox officiellement, mais ca peut y venir

    pour le mode secure : ca force un mot de passe pour samba au moins et vire le manager aussi on dirait, je ne sais :
    https://github.com/recalbox/recalbox-buildroot/commit/c8e5d53b826ebff079ce27f5b7ea49a77eb0c90e
    https://github.com/recalbox/recalbox-buildroot/commit/c0554a4f43675c0e13c065ea43dfed7466fc06c4



  • @subs Je ne comprends pas ta remarque concernant le fichier. Le format est celui utilisé dans recalbox.conf donc ça me parle oui. Le problème qu'il y a avec l'API de neolao c'est qu'à l'enregistrement d'une donnée string, il l'entoure avec des double quotes. C'est un problème car recalbox croit alors que les double quotes font parti de la valeur alors que non elles servent (normalement) à délimiter la chaîne de caractère (et éviter les problèmes de caractères spéciaux à échapper).

    On a bien compris qu'il ne fallait donc pas utiliser les double quotes et il fera la correction (ou je ferais un PR) et c'est tout. Là le fichier que tu me montres va servir à quoi, faire tampon entre le fichier recalbox.conf et l'API ? Je ne sais pas comment est géré l'enregistrement des données je n'ai pas regardé en détail :) Tout ce que j'ai remonté c'est ce bogue de double quote et le fait que certaines modifications de l'API ne sont pas faîtes instantanément sur le recalbox (comme le volume du son ou la musique de fond par exemple).

    Je crois qu'on se mélange sur différentes choses là... ^^'


  • Moderator
    Team

    @DjLeChuck haaaannn t'as pas lu :(

    ## EmulationStation menu style 
    # Values:
    # default: default all options menu
    # none: no menu except the game search menu
    # bartop: less menu, only needed for bartops
    system.es.menu=default
    

    Tu vois la section Values: elle n'existe pas par défaut. C'est un commentaire qui sert à dire à un interpréteur comme t aversion du manager "system.es.menu prend 3 valuers possibles : default, none et bartop, avec les commentaires inhérents". Et il y a un double dièse sur un début de commentaire de variable.

    L'idée était d'utiliser le recalboc.conf du share_init puisque c'est lui la référence (mis à jour, non touché par les utilisateurs), et mettre à jour en face le recalbox.conf du share



  • @subs Si j'ai lu (seulement le fichier, pas les explications en dessous :P) Mais actuellement ça y ressemble donc pardonne moi de ne pas avoir fait attention à la différence ^^ :

    ## EmulationStation menu style 
    ## default -> default all options menu
    ## none -> no menu except the game search menu
    ## bartop -> less menu, only needed for bartops
    system.es.menu=default
    

    Maintenant que j'ai lu les explications d'en-dessous et que tu me l'a expliqué également je vois de quoi tu parles.

    Je ne suis pas encore au fait de comment fonctionnent les différente configs mais du coup là je comprends mieux l'utilisation que tu voudrais voir. En soit ça me va comme ça, puisque de toute façon ça concernera neolao et son API, pas mon manager :D


  • Moderator
    Team

    @DjLeChuck non neolao se contente d'appliquer des valeurs ou de les extraire. Ces comms ont été ajoutés pour une IHM explicitement, qui permettrait de paramétrer tout le recalbox.conf



  • @subs L'API de neolao prend la valeur que tu lui envoies en l'enregistre en l'encapsulant dans des double quotes d'où le bogue dont je parlais : https://github.com/recalbox/recalbox-api/blob/1.1.x/bundle-es6/utils/IniFile.js#L125-L131

    Sinon, les commentaire sont très bien oui ça me permet de savoir quoi proposer à l'utilisateur comme options par rapport à ce qui est indiqué sans me poser de questions, donc c'est très bien !


  • Moderator
    Team

    @DjLeChuck justement, au boulot, faut que ta version du manager puisse tout faire sur le recalbox.conf. J'attends ta PR :D


Log in to reply
 

Want to support us ?

306
Online

24254
Users

12897
Topics

97649
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.