Journal Zusam : des groupes privés à héberger soi-même

Posté par  . Licence CC By‑SA.
27
26
juil.
2019

Bonjour à tous,

Je profite de la sortie de la version 0.3 de Zusam pour vous parler de ce projet.

Zusam

Zusam est parti de l'idée d'auto-héberger un équivalent aux groupes privés facebook.

Il fallait donc pouvoir partager des liens (avec intégration de ceux-ci), pouvoir envoyer des vidéos, faire des albums photo. Rien de bien transcendant mais il fallait que ce soit simple d'utilisation et facile à héberger.

Le résultat s'approche d'un forum orienté partage familial et entre amis.
screenshot de Zusam

Pourquoi ne pas utiliser un réseau social existant ?

  • mastodon, gnusocial, diaspora: les réseaux sociaux fédérés sont bien plus complexes que ce dont j'ai besoin. Que ce soit au niveau de l'interface ou de l'hébergement
  • zulip, movim, mattermost, matrix: je ne veux pas de discussion instantanée
  • discourse, flarum, phpbb: trop power-user à mon goût. Ma grand-mère doit pouvoir l'utiliser

Je n'ai évidemment pas cité tous les outils : il en existe tellement que j'ai dû passer à côté de ce que je cherchais. Mais n'ayant pas trouvé chaussure à mon pied, j'ai créé Zusam.

Comment ça marche ?

Zusam est organisé en groupes. Tout le monde peut créer des groupes et tout participant à un groupe a accès au lien d'invitation du groupe qu'il peut partager comme bon lui semble.

Un groupe est détruit quand plus personne n'y participe : il n'y a pas d'administrateur.

Pour communiquer, on écrit des messages. Un message comporte un titre, du texte et des fichiers. S'il y a des liens dans le texte, le premier est intégré à la fin du message (comme sur facebook). Les fichiers sont soit des images soit des vidéos (pdf et fichiers audio sont prévus pour plus tard). S'il y a au moins quatre fichiers, on passe en vue "album".

On peut commenter un message de la même façon.

screenshot zusam

Les messages apparaissent sur la page d'accueil du groupe et sont affichés dans un ordre anti-chronologique de dernière activité.

Difficile de mettre en valeur ce projet qui a pour atouts que des petites choses. Je vais donc plutôt faire une liste de ce que j'aime bien.

  • PHP + sqlite pour un environnement classique et simple à mettre en place.
  • Conversion des photos par imagick et des vidéos par ffmpeg pour réduire le poids des envois.
  • Intégration des liens youtube, dailymotion, viméo, peertube, bandcamp, soundcloud…
  • Une webapp en 35Ko de js (minifié + gzippé) avec une interface légère et agréable
  • Une API en voie de stabilisation

Et après ?

J'ai encore beaucoup de travail pour arriver au niveau de maturité que je souhaite pour la v1:
Un schéma de bdd stable (on va éviter au maximum les migrations post v1)

  • Compatibilité assurée avec MariaDB et PostgreSQL
  • Une sécification complète de l'API (pour permettre des réécritures compatibles de la webapp ou du backend)
  • L'import/export de groupes (pour pouvoir changer d'instance)
  • Intégration yunohost

Le but est d'avoir un noyau réduit de fonctionnalités stables et d'éventuellement l'étendre via des extensions après la v1 (si je ne suis pas épuisé d'ici-là).

Le projet est sous licence AGPLv3 et est hébergé sur github : https://github.com/nrobinaubertin/zusam.
Une demo est utilisable sur https://demo.zusam.org avec le login "zusam" et le mdp "zusam".

  • # pas mal !

    Posté par  (site web personnel) . Évalué à 8.

    J'aime bien la simplicité de l'IHM!

    Il manque juste deux fonctions essentielles:

    • la recherche
    • les norloges

    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: pas mal !

      Posté par  . Évalué à 1.

      Merci !

      Effectivement, une fonction de recherche serait utile.
      Il y a un peu de réflexion à avoir pour le faire correctement: dans mes groupes, beaucoup de messages sont uniquement un lien vers une vidéo youtube. Pour avoir un semblant de recherche dans ces cas-là, il faudrait que j'ajoute une liste de mots-clef pour chaque message et que je le peuple avec des métadonnées des liens par exemple.

      Pour les norloges, tu fais référence à ça ?
      Y'a une date affichée pour chaque message. Il faut passer la souris sur un commentaire pour le voir apparaître (dans le coin inférieur droit du com') sur la version desktop de la webapp. Elle est au format "humain" mais en passant la souris sur la date, elle est affichée au format quasi iso.

      • [^] # Re: pas mal !

        Posté par  (site web personnel) . Évalué à 5. Dernière modification le 26 juillet 2019 à 17:24.

        Pour les norloges, tu fais référence à ça ?

        Fait un tour sur https://linuxfr.org/board et passe ta souris sur les HH:mm:ss, tu vas comprendre.

        norloge

        Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

        • [^] # Re: pas mal !

          Posté par  . Évalué à 1.

          Ah ok, c'est des "réponses à" !
          Oui, c'est une demande qui 'a déjà été faite : https://github.com/nrobinaubertin/zusam/issues/10

          • [^] # Re: pas mal !

            Posté par  (site web personnel) . Évalué à 3. Dernière modification le 26 juillet 2019 à 17:26.

            Ah ok, c'est des "réponses à" !

            Oui et la meilleure implémentation du marché, car:

            • on peut faire référence à plusieurs messages.
            • le fil de la discussion reste chronologique et linéaire (pas d'arbre, de sous discussion…).
            • on peut répondre à un message du futur /o\

            Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

            • [^] # Re: pas mal !

              Posté par  . Évalué à -5. Dernière modification le 26 juillet 2019 à 23:13.

              on peut répondre à un message du futur /o\

              Tu portes bien ton pseudo :)

  • # Bonne idée

    Posté par  . Évalué à 3.

    Projet intéressant ! Intégré à Yunohost, je serais peut être un futur utilisateur !

    Désolé je ne peux contribuer, mais je t'encourage :-)

    • [^] # Re: Bonne idée

      Posté par  . Évalué à 1.

      Merci !
      J'aime beaucoup le projet Yunohost. Je n'ai pas encore regardé dans le détail pour l'intégration mais ce sera sûrement très facile dès qu'ils passeront à buster (avec php7.3)

  • # Projet intéressant

    Posté par  (site web personnel) . Évalué à 1.

    Je cherche un système de partage de fichier très simple, je testerai ça pour voir si ça fait l'affaire. Est ce que ça permet d'uploader des vidéos (pas que des liens youtube), des fichiers zip ?

    https://linuxfr.org/forums/general-cherche-logiciel/posts/depot-public-de-photos#comment-1779071

    Ça peut aussi être pas mal pour dialoguer entre les membres de notre LUG, c'est différent d'un forum.

    Un LUG en Lorraine : https://enunclic-cappel.fr

    • [^] # Re: Projet intéressant

      Posté par  . Évalué à 3. Dernière modification le 07 août 2019 à 10:19.

      Si c'est pour du partage de fichiers, Nextcloud ou plus simple, Lufi, font très bien l'affaire).
      En ce qui me concerne, j'utilise généralement des liens avec une date d'expiration sous mon Nextcloud perso, pour partager des fichiers.

    • [^] # Re: Projet intéressant

      Posté par  . Évalué à 1. Dernière modification le 08 août 2019 à 22:16.

      On peut uploader des vidéos sur Zusam mais pas de fichiers zip.
      Le but de Zusam est de partager des medias qui seront visionnés depuis le navigateur. Ceux-ci sont donc compressés et cela se limite aux photos/vidéos pour le moment (fichiers audio et éventuellement pdfs pour plus tard).

      Pour du partage de fichier (en conservant leur intégrité), le mieux est de passer par un autre outil (comme le propose damaki).

      Exemples:
      - send
      - lufi
      - jirafeau
      - nextcloud

Suivre le flux des commentaires

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