Journal Galenectl, l'outil d'administration de Galène

Posté par  . Licence CC By‑SA.
31
18
août
2025

J'ai passé les derniers jours à refaire la documentation du serveur de vidéoconférence Galène.

Quand j'ai initialement écrit Galène, l'administration se faisait en éditant manuellement des fichiers JSON. C'était laborieux et les gens se trompaient, j'ai donc commencé à définir une API d'administation, dans le but de faire une interface graphique, interface que j'ai commencé à implémenter, ce qui m'a rappelé à quel point j'étais nul en interface utilisateur. Du coup, j'ai tout supprimé, et j'ai juste laissé une petite bibliothèque JavaScript. (Mais si vous voulez reprendre le projet, je suis sûr qu'on pourra retrouver une copie.)

J'ai alors écrit un petit utilitaire, galenectl, qui sert à administrer Galène à distance depuis la ligne de commande. Ça a pris un peu de temps, mais galenectl est maintenant complet : je n'ai plus besoin d'éditer du JSON, j'arrive à tout faire à l'aide de galenectl.

La documentation parlait encore d'éditer les fichiers, je l'ai donc récrite en termes de galenectl. La nouvelle documentation est en ligne (cherchez la partie Documentation), et elle est dans le dépôt Git.

C'est dur d'écrire de la doc, et quand on a fini, on a l'impression que tout est clair. Si vous n'avez rien à faire en cette fin d'août, passez s'il-vous-plaît un moment à lire les instructions d'installation et le manuel d'utilisation, et dites-moi s'il y a des choses obscures pour vous. Je suis particulièrement intéressé par les retours de gens qui savent vaguement installer un serveur mais qui ne sont pas spécialistes de l'administration système.

  • # Merci

    Posté par  (site web personnel, Mastodon) . Évalué à 9 (+7/-0).

    Salut,

    je n'ai pas encore eu le temps de regarder les changements (très pris par ailleurs), mais je voulais surtout te dire merci pour le travail sur Galène. C'est un super logiciel qui s'installe facilement et qui marche bien.

    J'ai implémenté un composant XMPP qui l'utilise pour faire des visioconférence en grand nombre (dans le projet Libervia, grâce à une subvention NLnet). J'avais proposé une spécification correspondante, mais on m'a demandé de faire des modifications. Je vais m'y remettre dès que possible pour corriger et la reproposer, et adapter l'implémentation aux changements récents.

    Bonne continuation.

    • [^] # Re: Merci

      Posté par  (site web personnel) . Évalué à 3 (+1/-0).

      "C'est un super logiciel qui s'installe facilement et qui marche bien."

      Reste plus qu'à le packager dans les distros…

      • [^] # Re: Merci

        Posté par  . Évalué à 2 (+1/-0).

        Reste plus qu'à le packager dans les distros…

        Oui, ce serait bien, à ma connaissance il n'y a que Arch, FreeBSD et NixOS qui ont des paquets de Galène à jour.

        Maintenant, c'est pas comme pour un logiciel en Python ou en node.js, c'est vraiment facile à installer manuellement :

        git clone https://github.com/jech/galene
        cd galene
        CGO_ENABLED=0 go build -ldflags='-s -w' ./...
        mkdir groups
        ./galenectl/galenectl initial-setup
        mv config.json data/
        ./galene &

      • [^] # Re: Merci

        Posté par  . Évalué à 5 (+3/-0). Dernière modification le 20 août 2025 à 10:57.

        Il est packagé dans Yunohost : https://github.com/YunoHost-Apps/galene_ynh/ :)

        aussi sur le salon xmpp:linuxfr@chat.jabberfr.org?join

    • [^] # Re: Merci

      Posté par  . Évalué à 2 (+1/-0).

      Merci pour les compliments :-)

      J'ai implémenté un composant XMPP qui l'utilise pour faire des visioconférence

      Je sais, j'ai suivi.

      adapter l'implémentation aux changements récents

      Il faudrait qu'on se rencontre à l'occasion, pour que tu m'expliques exactement ce dont Libervia a besoin. Je n'aurais a priori pas d'objection à faire un protocole privé Galène <-> Libervia, et le garder (vaguement) stable.

      • [^] # Re: Merci

        Posté par  (site web personnel, Mastodon) . Évalué à 5 (+3/-0).

        Ah ça serait super ! Je ne sais pas si c'est nécessaire de garder un truc spécifique à Libervia, ça dépend si l'API risque de changer fréquemment ou pas.

        Il faut que je me replonge dans la spéc, le problème est que j'étais un peu pressé par le temps et que j'ai fait plusieurs sessions Jingle (la partie XMPP qui gère les sessions) en me calquant sur ce que faisait Galène, et il faudrait que je revois ça pour que ça fonctionne avec une seule.

        Il va falloir que je me replonge dans tout ça. Là je suis en train de fini un autre projet de passerelle email <=> XMPP, et après je vais essayer de mettre ça à jour. On pourrait s'organiser un appel (via Galène bien sûr :) ) ou un chat d'ici 2/3 semaines si ça te va ? Le temps de me laisser finir le travail en cours, et de me remettre dedans.

        • [^] # Re: Merci

          Posté par  . Évalué à 4 (+3/-0).

          On pourrait s'organiser un appel (via Galène bien sûr :) ) ou un chat d'ici 2/3 semaines si ça te va ?

          Avec plaisir. Fais-moi un mail quand tu es prêt.

  • # Documentation

    Posté par  (site web personnel) . Évalué à 1 (+1/-0).

    Je suis particulièrement intéressé par les retours de gens qui savent vaguement installer un serveur mais qui ne sont pas spécialistes de l'administration système.

    Je suis à priori dans ce critère, je suis un "power dev" qui a l'habitude de rédiger moultes documentations mais l'admin sys me gave un peu.

    J'ai lu ta documentation et ça ne manque pas de détails mais manque peut être de certaines tournures ou de mises en avant visuelles, ça t'intéresserait que je te propose un pull request avec une documentation configurée avec Sphinx, thème comme Furo et éventuellement une configuration pour la publier sur ReadTheDocs ? À moins que tu souhaites t'en tenir à une doc minimaliste ?

    • [^] # Re: Documentation

      Posté par  . Évalué à 3 (+2/-0).

      ça t'intéresserait que je te propose un pull request avec une documentation configurée avec Sphinx, thème comme Furo et éventuellement une configuration pour la publier sur ReadTheDocs ?

      Je préfère rester avec du markdown aussi bête que possible, et éviter de dépendre encore davantage de sites commerciaux. (Seul le dépôt et le issue tracker sont sur GitHub, tout le reste est sur galene.org, et tout est prêt pour migrer depuis GitHub si ça devient nécessaire.)

  • # GUI

    Posté par  (site web personnel, Mastodon) . Évalué à 3 (+2/-0).

    J'ai moi même été confronté au problème de de l'édition GUI de JSON (moi c'était YAML en fait) pour le projet OpenHEMS. J'ai finalement créé un serveur Web, qui convertit un YAML en formulaire HTML. Il est générique, mais évidemment il a besoin de savoir le type des objets dans le cas de listes. Il est loin d'être parfait. Mais je ne comprends pas qu'il n'existe pas (à ma connaissance) des librairies générique pour faire ce travail. Mon projet est en Python, le tiens en Go. Mon IHM est web, peut-être pas la tienne. Mais peu importe. Y a t'il des gens qui savent ce qui ce fait de mieux dans ce domaine?

    Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.

Envoyer un commentaire

Suivre le flux des commentaires

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