App menu pour naviguer de façon intégrée entre les applications YunoHost?

Salut,

Seriez-vous intéressés par un menu intégré comme chez framasoft pour les applications YunoHost ?

Si non, pouvez-vous me faire un retour d’expérience sur le/les raisons qui vous ont mené à ne pas faire un menu intégré ?

Merci pour votre retour

Salut,

L’historique

Il y a très très longtemps (en YunoHost 2) il y avait un menu (pompé du menu top bar de frama) installable sous forme d’app.

Il y avait aussi, jusqu’en YunoHost 11, un carré cliquable pour ouvrir le menu yunohost depuis la plupart des apps.

Les raisons de l’abandon du carré YunoHost

En YunoHost 12, le “carré yunohost” a été retiré, car il perturbe certaines apps, empêche d’accéder à des boutons et il n’était pas souhaité par de nombreuses personnes. A la place, on a les portails privés et publics personnalisables (cf yunohost 12.1 testing aussi).

La difficulté d’intégrer un menu dans chaque apps, c’est que contrairement à frama nous gérons 540+ apps. Hors parfois, il y a des hacks css ou des bugs créés par la présence de ce genre d’intégration dans le DOM et le CSS de l’app. La conséquence, c’est que ça complique le travail de packaging (hors c’est impossible de tester manuellement toutes les fonctionnalités d’une app avant de publier la maj du paquet).

De quelle façon contribuer sur ce besoin

Mon avis, c’est que ce que tu proposes pourrait être proposé sous forme d’app, avec des warning si il s’avère que ça ne marche pas toujours. SI l’app fonctionne bien, on pourra envisager son intégration dans le cœur. Précision: ce n’est que mon avis, on en a pas discuté collectivement.

La bonne nouvelle c’est que YunoHost 12 permet d’accéder à la portal-api qui donne la liste des apps dispo. Du coup c’est plus facile qu’avant de construire un menu de ce genre, car l’API pour obtenir les données et les interfaces pour paramétrer sont déjà là.

Conclusion: si tu veux te lancer là dedans, c’est possible.

Solution de contournement avec Nextcloud ET cohérence de l’ensemble

Si nextcloud est installé, il est possible d’intégrer les apps dans Nextcloud (en ajoutant des frame-ancestor dans nginx et en utilisant l’app external_site de nextcloud). Il y a aussi une app nextcloud qui proposer d’intégrer le menu nextcloud dans une apps tierce sous forme d’import js…

A noter que mixer Nextcloud (qui contient souvent plein d’app aussi) et YunoHost peut parfois être perturbant en terme d’expérience utilisateurice. D’un côté le portail public, le portail privé et le menu nextcloud avec ses apps, ça peut faire beaucoup pour s’y retrouver. D’autant que les styles ne sont pas harmonisés en général.

Sondage pour savoir combien de personne ça intéresse:

A tout hasard, je lance un sondage pour voir qui serait intéresser:

  • A. J’ai besoin d’un menu intégré comme celui de Framasoft
  • B. J’utilise le menu Nextcloud et ça me va
  • C. Je n’ai pas besoin d’un menu d’accès rapide entre mes apps
  • D. La réponse D
0 voters

J’ai oublié de préciser que tout ça peut poser des soucis d’accessibilité (lecteur d’écran) aussi. Enfin, disons qu’il y a aussi des choses à regarder de ce côté là.

Je n’ai jamais eut ce besoin, je trouve que le tableau de bord utilisateur est très bien pour mes usages, une fois épinglé c’est plutot convenable. Je n’utilise pas Nextcloud je pense c’est un menu en moins

Le besoin c’est un catalogue de thèmes. On devrait packager aussi des thèmes

Je vais essayer de voir toutes les pistes données et bien comprendre les contraintes techniques des solutions proposées.

Mais pour préciser, l’idée est de proposer la solution d’un menu intégré en plus du tableau de bord.

J’aimerais une solution générique qui puisse fonctionner sur des fermes de logiciels identifiés (des logiciels qui travaillent ensemble et dont l’affichage du menu ne pose pas de souci).

Et je suis d’accord qu’un ou plusieurs thèmes seraient intéressants à avoir sur YunoHost mais c’est sûrement un gros travail pour 500+ apps.

Mais à ce stade, ces idées doivent être confrontées à l’intérêt généré et aux ressources requises pour l’implémentation et pour la maintenance (changement de version etc.)…

Merci pour toutes ces infos.

Si d’autres veulent réagir, you’re welcome !

La solution des frame-ancestors :

La solution proposée est élégante et peut être utilisé avec NextCloud et sans NextCloud d’après ce que j’ai compris, l’utilisation de iframe comportent cependant pas mal de limitations mais je ne sais pas si les 500 produits open source référencés tombent dans les cas où l’inclusion d’iframe ne fonctionne pas ou provoque des soucis d’affichage.

Inclusion app menu à la volée par un proxy :

Autrement, on pourrait imaginer aussi un proxy écrit en rust pour nginx qui insèrerait le code de l’application YunoHost menu dans le code HTML de l’application web en cours à la volée.
Des tests de performance devrait être fait ceci dit … Mais une baisse de perf est peut-être un moindre mal si on prend en compte qu’aucune application ne sera à modifier avec ce système. Ceci dit, on pourra aussi avoir des collisions de CSS entre l’app menu et l’application web et donc des problèmes d’affichage.

En tout cas, les deux solutions me semblent intéressantes.

Sans écrire du rust, tu peux utiliser les instructions nginx dédiées (sub_filter):

2 Likes

Super ! Merci pour l’astuce !