[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/100Je 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 maintenantPour 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-phpJe 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 :
-
@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 userfriendly -
Alors là, chapeau l'artiste!!!
C'est beaucoup plus sympa que l'interface web actuelle
-
Super boulot ai-je bien lu php ?
-
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 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 -
-
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 -
-
osef le login. Il ne faut l'activer que dans le cas où le omde secure est activé (cf recalbox.conf)
-
@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)
-
@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à... ^^'
-
@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
-
@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 !
-
@DjLeChuck justement, au boulot, faut que ta version du manager puisse tout faire sur le recalbox.conf. J'attends ta PR