Journal Humhub 1.2.8, retour d'expérience

Posté par . Licence CC by-sa.
21
22
juil.
2018

Sommaire

Chère communauté,

Après plusieurs mois de lecture attentive des différents contenus de LinuxFr, il est temps de passer à la rédaction. J'ai choisi de vous parler de Humhub, un outil de création de réseau social libre dont le dernier journal sur le sujet remonte à 2014. Dans un premier temps, je ferai une description de l'outil. Je parlerai ensuite de son utilisation, en donnant quelques brefs conseils sans rentrer dans les détails pour rester concentré sur le sujet du journal. Enfin, je vous ferai un retour sur mon expérience et celle des utilisateurs.

Description

Humhub est un outil de création de réseau social sous licence AGPL V3 programmé majoritairement en PHP, autour du framework Yii. Humhub permet de créer son propre réseau social non fédéré, ou un réseau social d'entreprise. La version stable actuelle est 1.2.8.


Page d'accueil d'une instance


Profil d'un utilisateur

Fonctionnement

Le principe de fonctionnement ressemble à celui de Facebook:

  • Chaque utilisateur a sa page sur laquelle il peut publier du contenu :
    • Texte formaté en Markdown;
    • Photos, vidéos, sons;
    • Sources externes (Youtube, Soundcloud, Viméo…) grâce à OEmbed.
  • L'utilisateur peut appartenir à des espaces publics/privés (les groupes), et partager du contenu dessus.
  • L'utilisateur peut suivre d'autres utilisateurs, ou être ami avec eux.
  • Un moteur de recherche permet de trouver du texte dans les différents types de contenus.
  • Des modules permettent d'ajouter des fonctionnalités supplémentaires, pour que chaque administrateur puisse configurer Humhub selon ses besoins :
    • Galeries photos
    • Wiki
    • Agenda
    • Sondages
    • Messagerie
    • OnlyOffice…
  • L'authentification peut se faire avec LDAP.


Page d'administration


Les groupes


Annuaire

Tester

Si vous voulez essayer Humhub, il est possible de créer gratuitement sa propre instance, limitée à 3 utilisateurs.

Comparaison par rapport aux autres outils

Son équivalent non libre serait Yammer.
Son équivalent libre et fédéré serait Friendica.
Diaspora est assez différent car il est fédéré et il n'est pas possible de créer de groupes.

Modèle économique

Humhub est gratuit. L'équipe de développement se rémunère grâce à des services proposés, qui semblent cibler les entreprises.

Mise en place de deux éditions :

  • Une offre "community", gratuite, qui donne accès au code source complet de Humhub sous licence AGPL V3.
  • Une offre "entreprise", à 99€/mois, qui permet à l'administrateur de bénéficier d'un support prioritaire, et qui lui permet de ne pas avoir à partager son code source s'il le modifie.

Hébergement d'instance : trois offres existent, de 0€/mois (3 utilisateurs) à 99€/mois (nombre d'utilisateurs illimités).

RGPD

L'équipe d'Humhub a créé un module pour aider l'administrateur à être conforme avec le RGPD. Il demande aux utilisateurs d'accepter les conditions d'utilisation fixées par l'administrateur, ou de supprimer son compte et ses données personnelles. Il informe aussi les utilisateurs de la présence de cookies.

A l'usage

Installation

Pas de pièges : la procédure est clairement expliquée dans la documentation. Un système d'exploitation avec tâches planifiées (cron), un serveur web exécutant du PHP, et une base de données sont nécessaires. Il faut ensuite installer les dépendances, récupérer les sources sur Github, puis les installer sur son serveur web. Enfin, l'installation se termine en se connectant au site, où une page demandera les paramètres de la base de données et vérifiera la présence des dépendances et le bon réglage des permissions.

Pour information, les développeurs semblent utiliser CentOS comme système d'exploitation. Sur le site d'aide, les utilisateurs ont des instances aussi bien sous Windows Server que sous Debian, Ubuntu Server…

Comme il s'agit d'un réseau social qui hébergera de nombreuses données personnelles, quelques précautions sont à prendre:

  • Chiffrer ses disques si le serveur n'est pas en lieu sûr.
  • Configurer correctement SSH : connexion par clé privée/publique, pas de connexion "root"…
  • Obtenir un certificat et configurer correctement TLS.
  • Rediriger tout le trafic en HTTPS.
  • Installer Fail2ban. Si vous utilisez Debian, je vous recommande de prendre la dernière version sur Github, qui possède des règles de filtrage à jour.
  • Utiliser les recommandations de Mozilla : mise en place des Content Security Policies (CSP), activation du HTTP Strict Transport Security (HSTS).

Ressources

Un VPS Cloud de base chez OVH, permet de faire tourner une instance de 75 utilisateurs sans ralentissements. J'utilise Debian 9, Apache 2 et MariaDB. En même temps, j'ai rarement plus de 5 utilisateur connectés en même temps… Sur le site communautaire, certains administrateurs ont plus de 10000 utilisateurs par instance, mais ils ne précisent pas la configuration utilisée.

Mise à jour

Le rythme de sortie des mises à jour est soutenu. Depuis le début de l'année, 4 mises à jour mineures ont été publiées. Il est possible de choisir le canal "stable" ou le canal "bêta". Là non plus, pas de pièges : je n'ai pas eu de surprises en 4 mises à jour. Il faut juste penser à rediriger le trafic http(s) vers une page "maintenance" et à couper les taches planifiées le temps de la mise à jour.

Support

L'équipe de développement est présente et à l'écoute de ses utilisateurs, même s'ils n'ont pas souscrit au contrat "entreprise". Voici les différents moyens de trouver de l'aide.

  • Lire la documentation.
  • Se connecter à l'instance Humhub Community qui est dédiée aux administrateurs, pour qu'ils puissent s'entre-aider et proposer des améliorations. Un wiki est caché dans l'espace "Installation and Setup". Les développeurs sont réactifs si les questions sont pertinentes.
  • Faire un tour sur les tickets Github.

Retour d'expérience

Besoin

Dans le but d'organiser un événement avec mes proches, j'ai voulu mettre en place un réseau social privé.

Besoins utilisateur:

  • Publier du contenu,
  • Commenter du contenu existant,
  • Partager des photos,
  • Etre simple d'utilisation avec une interface agréable,
  • Traduit en plusieurs langues de manière claire.

Besoins administrateur:

  • Tourne sur un serveur LAMP standard,
  • Libre,
  • Installation simple,
  • Rythme de mise à jour soutenu, signe d'un temps de réponse rapide en cas de faille de sécurité.

J'ai testé : GNU Social, Friendica, Diaspora et Humhub. Je n'ai pas retenu les trois premiers pour les raisons suivantes :

  • GNU social, Fiendica et Diaspora fonctionnent sur le principe de la fédération. Sur Friendica par exemple, les photos de profil sont visibles par les internautes sans compte.
  • Friendica est assez technique à l'utilisation, bien que j'ai tenté d'améliorer la traduction française.
  • L'installation de Diaspora semble complexe, d'après la documentation : "The install is a bit complex, but we're here to help."
  • Diaspora ne permet pas de séparer les utilisateurs en groupes.
  • GNU social n'a pas été mis à jour depuis un bon bout de temps.

J'ai testé pendant un bon mois Friendica avec deux utilisateurs non avertis. J'ai essayé de l'adapter à mon besoin pour que les utilisateurs aient peu d'options disponibles, et pour que la traduction française soit plus claire. Mais mes bêta-testeurs l'ont trouvé trop complexe vis-à-vis du besoin. Je suis tombé par hasard sur Humhub, et je me suis alors dit : "c'est ce que je cherchais !". Non sans enthousiasme, je me suis lancé dans l'installation et la sécurisation de mon réseau social. Un mois plus tard, je l'ai ouvert aux inscriptions. Ce retour d'expérience est rédigé après 7 mois d'utilisation, avec la version stable 1.2.8.

Avis de l'administrateur

  • N'ayant avant cette expérience aucune connaissance en serveurs web et ne sachant pas programmer, je suis content d'avoir réussi à monter et sécuriser mon instance, même si ça m'a pris du temps avant de lancer mon serveur dans les eaux troubles du web. Cela est dû au bon support de Humhub et des différents outils utilisés (Apache, Certbot, Mozilla Observatory…).
  • L'administration du site est très facile, les options sont claires. Je n'ai pas eu de bug grave ou de corruption de base de données. L'outil est mature.
  • Le fait d'enrichir son site par des modules est une bonne idée : on part d'un site simple et léger que l'on adapte à son besoin.
  • Le principal problème concerne la qualité des images déposées par les utilisateurs : si elles sont déposées sur le serveur en qualité native, le serveur va générer des "thumbnails" pour les prévisualisation, mais lorsque l'utilisateur cliquera sur l'image pour l'afficher en grand, elle sera affichée dans sa taille originale même si l'écran a une résolution plus faible. Si chaque image fait plusieurs Mo, l'affichage de chaque image tel un diapo prendra un temps monstre. Il est possible de compresser les images lors de leur dépôt sur le serveur, mais les utilisateurs n'aiment pas…


Galerie photos

Avis des utilisateurs

  • Pour les habitués à Facebook, la prise en main est rapide. Un tutoriel interactif efficace est proposé aux nouveaux arrivants. Par contre, les personnes non habituées aux réseaux sociaux ont du mal à trouver où publier, et à comprendre qui pourra voir leurs publications.
  • Le fait de devoir utiliser Markdown pour formater ses posts est un défaut, car je suis le seul parmi les 75 membres à savoir ce que c'est. Heureusement, un éditeur WYSIWYG sera implémenté dans la version 1.3.
  • L'interface est jugée agréable et moderne. Le site est "responsive", donc s'adapte bien aux téléphones et tablettes. Mais les utilisateurs, à la recherche de la simplicité maximale, l'ont boudé car il n'y a pas d'application mobile officielle : impossible de partager un statut ou une photo en "un clic". Des applications non officielles existent, je ne les ai pas testées car je ne voulais pas forcer mes utilisateurs à installer des applications qui ne sont pas sur Google Play.
  • J'ai eu plusieurs fois le droit à la question "est-ce bien sécurisé ?", "est-ce que tu peux voir mon mot de passe ?". Les utilisateurs n'ont pas voulu se servir de la messagerie de peur que je puisse voir leurs conversations. Comme quoi, on cherche plus à se protéger de ceux qu'on connaît et à faire confiance aveuglément aux grands réseaux sociaux à la communication opaque.


Tutoriel interactif

Conclusion

Humhub est un outil de bonne qualité, mature et stable, au support proactif. Il permettra de dynamiser une communauté qui partage les mêmes centres d'intérêt ou de créer un réseau social d'entreprise en alternative libre à Yammer. Attention cependant à ne pas monter son instance pour faire un "réseau social du quotidien" et jouer à Mark Zuckerberg ; je ne pense pas que les développeurs aient créé Humhub dans ce but.

Je surveillerai les commentaires du journal, donc n'hésitez pas à me poser vos questions, ou à me demander des captures d'écrans supplémentaires.

  • # Intéressant

    Posté par . Évalué à 2.

    Merci pour ce retour d'expérience détaillé.

  • # Merci + XMPP

    Posté par (page perso) . Évalué à 5.

    Salut,

    merci pour ce journal détaillé, c'est très intéressant pour un développeur de projet similaire comme moi.

    As-tu testé XMPP et notamment Movim ? Tu peux bloquer la communication entre serveurs (la fédération donc) si tu ne la souhaites pas comme cela semble être le cas.

    Salut à Toi (que je développe) est sur ce genre de créneau, mais n'est pas encore suffisamment stable poli pour une utilisation avec un public non averti, je travaille justement à ça pour que ça soit le cas d'ici la rentrée et je serais fortement intéressé par des retours pour améliorer les choses (notamment au niveau de l'interface).

    D'après les captures, Humhub semble léché, il m'a l'air chouette dans ton cas d'utilisation (où la fédération n'est pas utile voir même non désirée). Est-ce qu'il y a un tchat ? Si non, est-ce que ça vous manque ?

    Tu dis que Diaspora ne permet pas de créer des groupes, mais d'après ce que je lis, ça ressemble fortement à ce qu'ils appellent « aspects », quelle différence y vois-tu ?

    Comme quoi, on cherche plus à se protéger de ceux qu'on connaît et à faire confiance aveuglément aux grands réseaux sociaux à la communication opaque.

    C'est une remarque intéressante, et effectivement les proches ont un intérêt direct à l'espionnage ciblé. Il y a une part de confiance à accorder de toute façon à un endroit où à l'autre.

    • [^] # Re: Merci + XMPP

      Posté par . Évalué à 4.

      Salut Goffi,

      Je ne connaissais pas Movim, merci pour la recommandation. Par contre, j'ai l'impression qu'il est plus orienté "conversation" que "publication", mais je me trompe peut être. Je cherchais avant tout un outil sur lequel l'info est présentée en tant que posts, que les utilisateurs peuvent commenter.

      J'avais lu ton dernier journal sur Salut à Toi, et je m'y suis intéressé au moment de choisir mon outil. Je ne l'ai pas retenu pour deux raisons qui peuvent sembler idiotes mais qui rassurent un débutant comme moi :
      - Il n'est pas encore en version 1.
      - Je n'ai pas vu de grosse instance le faire tourner (comme pour Diaspora ou Humhub).
      On est dans un cercle vicieux, car si tu n'as pas de retour d'expérience d'utilisateurs comme nous, tu ne pourras pas le faire progresser aussi rapidement que voulu. Mais mes utilisateurs n'étant pas technophiles libristes, je ne voulais pas les dégoûter si jamais l'outil présentait des bugs.

      Il n'y a pas d'outil de conversation instantanée dans Humhub. Cela fait partie des demandes de la communauté, et l'équipe de développement travaille sur l'intégration d'un outil existant à Humhub. Cela n'a pas fait partie des critères nécessaires pour choisir l'outil, car la plupart des utilisateurs se connaissent déjà, et passent par Whatsapp ou Messenger.

      Concernant les Aspects dans Diaspora, ça n'équivaut pas à des groupes :

      Are aspects like ‘groups’?
      No. Sharing in diaspora* is asymmetrical. This means that the people you have placed in an aspect may not have placed you or each other into an equivalent aspect in their accounts, and may not be sharing with each other at all. For an aspect to work as a group, each member would have to be connected to every other member and to have placed every other member into one aspect. Group functionality is not something that diaspora*’s software supports at the moment, and it would be difficult for anyone to run an effective group using aspects. We do hope to add group functionality in the future, so watch this space!

      Bon courage pour ton développement de SàT !

      • [^] # Re: Merci + XMPP

        Posté par (page perso) . Évalué à 9. Dernière modification le 22/07/18 à 18:38.

        Je ne connaissais pas Movim, merci pour la recommandation. Par contre, j'ai l'impression qu'il est plus orienté "conversation" que "publication", mais je me trompe peut être. Je cherchais avant tout un outil sur lequel l'info est présentée en tant que posts, que les utilisateurs peuvent commenter.

        Movim (tout comme SàT) est capable de publications, regarde par exemple https://fr.movim.eu/?blog/edhelas%40movim.eu . Je pense que c'est plutôt au niveau des partages de photos que ça va pêcher pour toi.

        J'avais lu ton dernier journal sur Salut à Toi, et je m'y suis intéressé au moment de choisir mon outil. Je ne l'ai pas retenu pour deux raisons qui peuvent sembler idiotes mais qui rassurent un débutant comme moi :

        ça n'est pas du tout idiot. En fait j'ai fait une grosse erreur stratégique depuis les débuts de SàT, c'est que j'ai toujours voulu attendre une version « suffisamment prête » (celle qu'on appelle « grand public » et qui sera d'ailleurs la prochaine) au lieu de fournir des choses plus progressivement pour que les gens adoptent.

        Je ne recommande pas moi même à un public non technique d'utiliser pour le moment, mais j'aimerais bien que des gens commence à installer pour avoir des retours et rendre justement le logiciel accessible à tous, c'était le but de mon dernier journal (et jusqu'ici j'ai peu de retours malheureusement).

        • Il n'est pas encore en version 1.

        Alors ça par contre la version 1 pour nous c'est quand on estimera qu'il y aura tout ce qu'on veut au niveau fonctionnalités, ça n'est pas gage de stabilité. Quand on aura toutes les XEPs principales et la visio conférence fonctionnelle, il sera question de version 1. Mais dès la prochaine version (0.7) l'installation sera recommandée pour tous

        • Je n'ai pas vu de grosse instance le faire tourner (comme pour Diaspora ou Humhub).

        oui moi aussi j'aimerais en voir, au moins en test pendant l'été. Si quelqu'un(e) nous lit et peut nous aider sur ce coup, ça serait super.

        Mais mes utilisateurs n'étant pas technophiles libristes, je ne voulais pas les dégoûter si jamais l'outil présentait des bugs.

        c'est tout à fait compréhensible, c'est justement ce que j'ai voulu toujours éviter en disant « attendez avant d'installer ». Mais au final ça nous aurait aidé des installations et des retours.

        Concernant les Aspects dans Diaspora, ça n'équivaut pas à des groupes :

        merci des explications, je comprends mieux. Du coup c'est tout à faire possible avec XMPP. Les « aspects » de Diaspora correspondent donc aux « groupes » chez nous (qui sont dans la liste des contacts), et ce que vous appelez « groupes » correspond en termes techniques au « modèle d'accès Pubsub » chez nous, et que Movim a appelé de manière plus sympa « communautés » (je pense qu'on va reprendre le même terme sur SàT).

        Bon courage pour ton développement de SàT !

        Merci, et n'hésite pas à faire des retours, même pour dire pourquoi vous n'utilisez pas, ça aide à rendre l'outil utilisable par tous, ce qu'on souhaite.

        • [^] # Re: Merci + XMPP

          Posté par . Évalué à 4.

          Salut,
          j'ai voulu tester SaT, l'installation est peut être facile, mais la documentation ne le reflète pas.
          Il n'est pas facile de trouver la procédure d'installation. La documentation est trop orienté développeur.
          Celle de humHub est largement plus facile a trouver, un seul fichier à télécharger avec une procédure simple. Et sans Docker!!

          • [^] # Re: Merci + XMPP

            Posté par (page perso) . Évalué à 5.

            Merci du retour, oui la documentation est très incomplète, c'est une des choses que je veux régler d'ici la version stable. L'installation est nettement plus simple maintenant pour backend et Cagou (frontend bureau/android) mais pas encore pour Libervia (frontend web, celui qui intéresse ici).

            Je suis aussi en train de travailler sur un flatpak (déjà fonctionnel), qui permet d'installer en une commande, ça va nettement faciliter la vie des gens.

            • [^] # Re: Merci + XMPP

              Posté par . Évalué à 1.

              C'est un bon choix flatpak pour un serveur ?

              • [^] # Re: Merci + XMPP

                Posté par (page perso) . Évalué à 3. Dernière modification le 23/07/18 à 08:34.

                Pour un serveur non, c'est clairement orienté appli bureau, mais je fais tourner tous les frontaux avec, dont le serveur web, et ça reste intéressant pour quelqu'un qui veut utiliser l'interface web ponctuellement pour une raison X ou Y (test rapide, utilisation d'une fonctionnalité non encore disponible, etc.). En plus D-Bus est intégré de base, et il est très utilisé par SàT.

                On n'est pas nécessairement obligé de faire tourner le serveur web (qui est intégré au frontal web) sur un serveur dédié, sans X, et qui tourne H24. Pouvoir le lancer ponctuellement depuis son bureau est pratique.

                Snappy est plus pensé pour ce type de choses (logiciels serveurs), quand j'aurai un peu de temps je regarderai également (mais Flatpak m'intéresse plus parce que décentralisé – même si Flathub est le dépôt principal – ce qui n'est pas le cas de Snappy).

  • # D'autres il en manque

    Posté par (page perso) . Évalué à 1.

    J'ai géré un réseau social thématique pendant plusieurs années. A l'époque en OpenSource il n'y avait pas grand chose, puis j'ai découvert Oxwall. Il était très simple à installer et à utiliser au quotidien. La partie personnalisation était plus complexe mais pas irréalisable. Puis un jour j'ai découvert Humhub (il était pas encore en v1). Je l'ai testé, installé et presque adopté… Presque pour deux raisons :

    • j'ai arrêté d'administrer le réseau (raison perso);
    • il manquait un chat entre membres.

    Ce dernier point était capital pour nos membres (et l'est toujours d'après l'admin qui à pris le relais). Aujourd'hui il me semble que humhub n'intègre toujours pas de chat, de temps en temps il y a un sujet qui passe sur l'instance de support mais rien de bien concret ou alors il faut passer par un service supplémentaire externe à humhub.

    Pour les autres solutions, j'ai évoqué Oxwall. Il y a 4 ans je le conseillais, maintenant je le déconseille fortement car les dev ont disparu de la circulation et il n'y a aucune visibilité depuis plus d'un an sur le futur d'Oxwall.

    Il y a Dolphin de Boonex https://www.boonex.com/ mais je ne l'ai jamais testé.

    Born to Kill EndUser !

    • [^] # Re: D'autres il en manque

      Posté par . Évalué à 1.

      Les développeurs ne vont pas tarder à en proposer une reposant sur ChatWee, ce qui fait grincer des dents car propriétaire. Il faut que je creuse dans les archives pour voir pourquoi une solution libre n'a pas été retenue.

      • [^] # Re: D'autres il en manque

        Posté par (page perso) . Évalué à 1.

        Le dépôt a l'air de bouger encore : https://github.com/oxwall/oxwall mais est-ce que cette version sera la dernière libre ou bien la prochaine close. L'avenir nous le dira… En tout cas je reste sur ma position de ne plus le conseiller tant que la situation n'est pas stable.

        Maintenant le pourquoi de ce choix des dev ? A un moment le temps passer à dev est tellement important qu'il devient l'activité principal et il parait logique d'en faire une activité pro. Bien sûr cela ne remet pas en cause le côté libre ou pas, mais quelque part je suis à peine étonné. J'ai commencé à utiliser Oxwall en vers 1.6 et déjà à l'époque l'équipe n'était pas très communicante sur le roadmap et peu enclin à écouter la communauté d'utilisateurs.

        Born to Kill EndUser !

    • [^] # Re: D'autres il en manque

      Posté par (page perso) . Évalué à 1.

      En fouillant dans ma mémoire j'en ai trouvé d'autres :

      • elgg -> une usine à gaz
      • budypress -> basé sur wordpress
      • familycms -> orienté famille

      Born to Kill EndUser !

  • # Merci

    Posté par (page perso) . Évalué à 1.

    Merci pour le super retour d'XP bien detaillé : je n'ai pas de besoins … mais je le note, on ne sait jamais.

Suivre le flux des commentaires

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