Elgg, le réseau social opensource atteint la version 1.0

Posté par  . Modéré par Bruno Michel.
Étiquettes :
9
19
sept.
2008
Internet
Elgg est un moteur libre (GPL) pour sites « sociaux ». Installable en quelques minutes, remarquablement extensible, il permet de proposer au sein de votre structure (à prendre au sens large : école, entreprise, groupe d'amis, association, collectivité territoriale...) des fonctionnalités de partage et de mise en relation.

Disponible sous licence GPL, cette nouvelle version (1.0, sortie au mois d'août) est une réécriture complète visant plus ou moins explicitement à transformer Elgg en un véritable « framework » dédié au web social. Toutefois, et contrairement à certains concurrents, l'outil reste utilisable « tel quel », sans développement supplémentaire. Elgg, un "vieux" réseau social ?

Elgg est un moteur de réseau social. En clair, un morceau de logiciel que vous pouvez installer sur votre serveur (LAMP) pour fournir des fonctionnalités comparables à celles d'un Facebook ou d'un Myspace, mais à plus petite échelle. Ceci n'a d'ailleurs rien de neuf, puisque les origines du projet remontent à 2004 (avant l'explosion de Facebook, au moins par chez nous). Très prisé dans le monde de l'éducation (entre autres), Elgg s'offre avec cette nouvelle version un grand coup de jeune. Il est vrai qu'à l'heure de l'ouverture du code de Facebook et de l'émergence (timide) d'un modèle véritablement décentralisé, on peut se demander quel intérêt peut bien avoir un moteur centralisé comme Elgg. Et on serait tenté de jeter le bébé avec l'eau du bain. Ce qui serait une terrible méprise.

D'abord, parce que si cette nouvelle version ne joue pas à 100 % le jeu des protocoles décentralisés (XMPP, OAuth et FOAF semblent curieusement absents), c'est manifestement par volonté de ne fournir qu'un « socle » simple et accessible. Socle sur lequel les-dits protocoles pourront s'asseoir, et sur lequel les greffons fournissant OpenID (un « fournisseur » et un « consommateur ») se reposent déjà.

Ensuite, parce que cette version de Elgg mise sur REST, en proposant l'essentiel de ses fonctionnalités (celles de ses greffons y compris) via des URL lisibles et claire. Du style "/action/blog/add". Et aussi parce que les gens d'Elgg ont prévu un format d'échange de données « universel », OpenDD. On peut certes regretter de voir apparaître un énième format de ce type, mais il faut admettre que celui-ci peut apporter beaucoup aux échanges entre instances de Elgg, et ainsi briser la vision « jardin palissé » (walled-garden ou îlot ou espace cloisonné) que l'on peut en avoir au premier abord.

Enfin parce que le code est - pour le peu que j'en ai vu - une petite merveille. Avec une séparation claire du fond et de la forme, une API bien pensée, les quelques tutoriaux fournis dans la section « Développeur » sont déroutants de simplicité. Elgg 1.0 a été réécrit depuis zéro pour disposer d'une base neuve intégrant directement tout ce qui a fait - sous forme d'ajouts ultérieurs - le succès des versions précédentes (le projet a quatre ans).

Enfin, même si les greffons du « vieux » Elgg ne sont plus compatibles (l'équipe a brièvement évoqué la possibilité d'un outil pour simplifier le portage), les quelques greffons fournis avec la nouvelle version sont éclectiques et efficaces (social-bookmarking, authentification LDAP...).

On notera que la société anglaise Curverider, à l'origine du projet, envisage de fournir du service dessus (http://ex.plode.us/ ainsi que le futur http://elgg.com). Mais, à la différence de beaucoup de projets basés sur ce type de « business model », ils ont su résister à la tentation d'en faire quelque-chose d'inutilisable sans leurs services. Et c'est tout à fait louable.

En conclusion, cette version d'Elgg est un grand bol d'air frais dans le monde étouffant des réseaux sociaux. Il ne sera probablement pas le Facebook de demain (ni même son moteur), mais s'il connaît la même dynamique que ses prédécesseurs, on peut s'attendre à le voir fleurir un peu partout. Il lui manque certainement des fonctionnalités en termes de décentralisation, mais vu la relative jeunesse du concept et les capacités d'extension exceptionnelles de l'outil, ce n'est probablement qu'une question de temps. On attend en particulier avec impatience la connexion avec des technologies telles que FOAF/XFN (descriptions sémantique de relations), XMPP (réseau décentralisé, présence, mais aussi messagerie instantanée) ou OAuth (échanges de données "sans mot de passe" entre sites partenaires). Mais la structure du projet est telle qu'on ne devrait pas attendre trop longtemps.

Et sinon, quoi de neuf ?

Mugshot et Noserub
- http://en.wikipedia.org/wiki/Mugshot_%28software%29
- http://noserub.com/

Proches en fonctionnalités, ces logiciels vous permettent d'héberger votre identité en ligne, tout en l'agrémentant de votre activité récente. En d'autres termes, il s'agit d'aggrégateurs de flux "sociaux".

Opensocial
- http://opensocialweb.org/

Lancé par Google, il s'agit plutôt d'une boîte-à-outils destinée aux architectes des réseaux sociaux. Malheureusement, son utilisation actuelle semble se limiter aux "widgets" d'iGoogle.

DiSo (Distributed Social network)
- http://opensocialweb.org/ Open Social

Plus audacieux, ce projet vise à construire un réseau décentralisé via une approche "bottom-up". Dans la pratique, ça consiste actuellement à rajouter des fonctions sociales à Wordpress puis - plus tard - à Drupal.

Laconica
- http://laconi.ca et http://identi.ca

Très "hype" pendant l'été, mais le soufflé semble retomber progressivement, ce clone libre de Twitter (microblogging) brille par ses choix techniques : OpenID (en option), XMPP (pour suivre l'activité depuis son client IM), OAuth (pour suivre les flux d'un utilisateur hébergé sur un autre serveur).

Barnraiser
- http://barnraiser.org

Surtout connus pour leur suite AroundMe (trois logiciels, très liés à OpenID, visant à héberger son identité en ligne), les gens de BarnRaiser refont du bruit. Ils ont sorti durant l'été trois nouveaux logiciels (Dutch, Roundhouse et Prairie) autour du thème de l'identité en ligne. Initialement non-libres, ils envisagent de les libérer dès qu'un intérêt suffisant sera manifesté. Pour preuve, Prairie a été libéré ces jours-ci.

Ringside Application Server
- http://www.ringsidenetworks.com/

La société Ringside Networks fournit une base (libre) similaire à Elgg mais théoriquement compatible avec les API de Facebook.

Et donc?

Au final, Elgg ou pas, tout ceci n'a de sens que dans la mesure où ces logiciels sont capables de communiquer entre eux. Les initiatives abondent en ce sens, mais il reste à voir lesquelles parviendront à survivre.

Aller plus loin

  • # déçu

    Posté par  . Évalué à 3.

    - code pas propre : y a des restes d'édition sous windows avec dec ^M partout
    - l'install initiale ne fonctionne pas, des erreurs sur les chemins des répertoires
    - des inclusions oubliées dans le script d'install

    Bref, il va falloir débogger et nettoyer tout ça avant d'appeler ça une version v1.
    • [^] # Re: déçu

      Posté par  . Évalué à 3.

      - code pas propre : y a des restes d'édition sous windows avec dec ^M partout

      J'avoue que j'ai lu le code qu'avec des éditeurs qui s'indignent pas pour si peu. Mais c'est vrai que c'est bof.

      - l'install initiale ne fonctionne pas, des erreurs sur les chemins des répertoires
      - des inclusions oubliées dans le script d'install


      Pas eu de problème majeur. Quelques merdes avec mon Apache sur une des machines où j'ai testé, mais à priori c'était plus un problème de AllowOverride mal mis.

      Par contre, j'ai toujours déployé le bouzin à la racine de mes vhosts, ça peut merder si on fait autrement, j'en sais rien.

      Pour les inclusions oubliées, tu penses à quoi?
      • [^] # Re: déçu

        Posté par  . Évalué à 3.

        PHP Fatal error: Call to undefined function elgg_set_viewtype() in /home/www/secret.org/htdocs/actions/systemsettings/install.php on line 16, referer: https://secret.org/install.php

        Je me dis que la fonction elgg_set_viewtype n'est pas connue peut-être parce qu'il manque un include de engine/start.php au début du fichier install.php.
        • [^] # Re: déçu

          Posté par  . Évalué à 3.

          Tu devrais le signaler, si ça n'est pas encore fait. En tous cas, je n'ai vu aucun ticket correspondant à ce genre de problème, et je n'ai moi-même rien constaté d'approchant.
  • # Soufflé qui retombe ?

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

    Larry Cow, je me demandais pourquoi tu pensais que "le soufflé retombait" pour Laconica. Ça a l'air toujours en activité, non ?
    • [^] # Re: Soufflé qui retombe ?

      Posté par  . Évalué à 3.

      Ouioui, et ça a l'air d'assez bien marcher. Mais dans les premières semaines, ça tournait à environ une nouvelle version de Laconica par semaine. Ca va faire un mois qu'on est à la 0.5.0, et ça semble ne plus avancer autant. Reste que c'est peut-être justement preuve de maturité.

      Mais en tous cas, on en parle beaucoup moins qu'il y a deux mois (et, au moins chez moi, les fonctionnalités "intéressantes" - OAuth et XMPP - ne marchent toujours pas bien).
      • [^] # Re: Soufflé qui retombe ?

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

        > (et, au moins chez moi, les fonctionnalités "intéressantes" - OAuth et XMPP - ne marchent toujours pas bien).

        Of course, Laconica n'est pas basé sur XMPP, mais utilise un bot qui n'est que client. Deux erreurs fondamentales de conception.

        Le top, le fin du fin, l'ultime, serait de baser un soft de microblogging (et bien plus) directement sur XMPP en particulier PubSub, le bot de notification étant un composant.

        En effet, on aurait pas défaut l'identification/authentification, la décentralisation, l'instantanéité, la publication-souscription, le push intelligent fonction de la présence (et pas de polling stupide et consommateur en ressources) que demande le peuple ?
        • [^] # Re: Soufflé qui retombe ?

          Posté par  . Évalué à 5.

          Je n'en attendais pas moins de toi. Mais effectivement, ça semble être une des voies pour le réseau social (dont le µblogging n'est qu'une toute petite partie).

          Enfin je suis pas forcément objectif non plus, j'ai encore eu la vision hier d'un Web qui migrerait progressivement vers une sorte HTTP-over-XMPP (enfin over-Jingle, surtout), dans lequel on ne se connecterait plus à un serveur Web mais à une personne (morale ou physique, et ce sans sous-entendu sexuel), etc. Bon, après, j'ai pris mes pilules et maintenant ça va mieux ;)
          • [^] # Re: Soufflé qui retombe ?

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

            XMPP n'a pas vocation à remplacer HTTP, et ne le fera pas.

            Mais il faut bien avoir conscience que XMPP est et sera de plus en plus intégré dans le web, mais en mieux, plus fort et plus loin que l'e-mail !
            • [^] # Re: Soufflé qui retombe ?

              Posté par  . Évalué à 3.

              XMPP n'a pas vocation à remplacer HTTP, et ne le fera pas.

              Le remplacer, non, certainement pas. L'encapsuler pour permettre une liaison HTTP entre deux "trucs", indépendamment des réseaux qui les séparent... y'a des jours où c'est tentant (pas tous les jours, heureusement).
              • [^] # Re: Soufflé qui retombe ?

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

                Aujourd'hui, c'est plutôt l'inverse qui est fait : BOSH
                http://www.xmpp.org/extensions/xep-0124.html XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH)
                http://www.xmpp.org/extensions/xep-0206.html XEP-0206: XMPP Over BOSH

                Voici la raison : derrière les NAT, proxies et firewalls en tout genre, il y a tout plein d'utilisateurs qui voudraient bien atteindre des serveurs XMPP publics. Hélas, les meurtrières de ces forteresses ne sont qu'au nombre de deux : les ports 80 (HTTP) et 443 (HTTPS). Pour avoir un peu de liberté, on est donc tenté à ce jour de tout encapsuler dans du HTTP.
                • [^] # Re: Soufflé qui retombe ?

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

                  alors qu'il serait plus intelligent de respecter l'Internet_Assigned_Numbers_Authority et le faire comprendre aux admins de coupe-feu comme un flux légitime de maintien du contact avec les pairs

                  je vois dans mon anti-sèche /etc/services
                  xmpp-client 5222/tcp XMPP Client Connection
                  xmpp-client 5222/udp XMPP Client Connection
                  xmpp-server 5269/tcp XMPP Server Connection
                  xmpp-server 5269/udp XMPP Server Connection
                  # [RFC3920]

                  à chacun de jouer et trouver les bons arguments (et justifier de bloquer le 1863 des kikoololeurs).
        • [^] # Re: Soufflé qui retombe ?

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

          Et pourquoi personne ne le fait ? Moi je ne le fais pas car je ne sais pas coder, mais si je savais, je le ferais. Puisque les briques sont là, pourquoi certaines équipes de développeurs (ou développeurs solitaires) se prennent le chou à concevoir des trucs compliqués alors qu'il suffirait d'utiliser ces briques.
          • [^] # Re: Soufflé qui retombe ?

            Posté par  . Évalué à 3.

            Et bien je pense que si tu fais une offre de mécénat, plusieurs développeur serait intéressé ;)
          • [^] # Re: Soufflé qui retombe ?

            Posté par  . Évalué à 3.

            Parce que le monde Jabber retient un peu son souffle en attendant deux-trois gros trucs (Jingle/ICE, notamment)?

            Parce que le support de PubSub est loin d'être complet pour tous les clients disponibles?

            Parce qu'il y a beaucoup plus de gens qui ont un client Web que de gens qui ont un client Jabber, et que ça n'encourage pas à sortir des sentiers battus?

            Bien sûr qu'XMPP a du potentiel pour les réseaux sociaux. Bien sûr que ça travaille tout le monde, tant du côté Jabber que du côté Web. Mais ça demande du temps, de l'argent et de la matière grise. Et ça n'est pas si simple de cumuler les trois.
          • [^] # Re: Soufflé qui retombe ?

            Posté par  . Évalué à 4.

            et pourquoi tu apprends pas à coder ? tu pourrais le faire.
          • [^] # Re: Soufflé qui retombe ?

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

            > Et pourquoi personne ne le fait ?

            Ce n'est pas parceque tu ne le vois pas que ça ne se fait pas.

            En gros, ton assertion est fausse :
            * Les spécifications acceptées : http://www.xmpp.org/extensions/
            * Les spécifications pas encore acceptées : http://www.xmpp.org/extensions/inbox/

            Rapidement, tu peux lire le titre et le résumé de chaque spec :
            http://www.xmpp.org/extensions/inbox/communities.html
            http://www.xmpp.org/extensions/inbox/microblogging.html
            http://www.xmpp.org/extensions/inbox/distributedmuc.html
            http://www.xmpp.org/extensions/xep-0214.html
            http://www.xmpp.org/extensions/xep-0235.html
            http://www.xmpp.org/extensions/inbox/metacontact-storage.htm(...)
            http://www.xmpp.org/extensions/xep-0209.html
            http://www.xmpp.org/extensions/inbox/mucol.html

            Donc, ça bouge, mais au niveau des spécifications. Et une spécification pour un vrai standard ouvert, ça passe de en « fast track », c'est un processus long de conception, revue, implémentation, feedback, mise à jour, etc.

            Après, pourquoi tu n'as pas l'impression que ça bouge ?

            Ben je dirais que les développeurs (libres et proprio) de clients de messagerie instantanée et de présence perdent un temps infini à faire du reverse engineering de protocoles propriétaires qui bougent sans arrêt : ICQ/AIM, QQ, Gadu-Gadu, Yahoo, NateOn, MySpaceIM, Mail.ru, Baidu Hi... et la liste s'allonge quasiment de jour en jour... Quel monde de proprios débiles !

            Si seulement tout le monde passait sur XMPP et laissait tomber les protocoles proprios... m'enfin bon.

            Revenons à nos moutons : les réseaux sociaux. Il n'existe à ce jour que de maigres tentatives d'interop, de décentralisation et de standards ouverts... alors XMPP offre tout ça ! C'est justement la raison pour laquelle tout le monde s'y intéresse aujourd'hui.

            On présentait (à tord) jusqu'à maintenant XMPP comme un protocole de messagerie instantanée et de présence, on va aussi le présenter maintenant (enfin !) comme un vrai réseau social, ouvert et mondial.
            • [^] # Re: Soufflé qui retombe ?

              Posté par  . Évalué à 3.

              On présentait (à tord) jusqu'à maintenant XMPP comme un protocole de messagerie instantanée et de présence, on va aussi le présenter maintenant (enfin !) comme un vrai réseau social, ouvert et mondial.

              Et éventuellement une succession au vieillissant (E)SMTP ;)
              • [^] # Re: Soufflé qui retombe ?

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

                Encore une fois XMPP n'a pas vocation à remplacer HTTP ou (E)SMTP/QMQP/LMTP/AMQP(+POP/IMAP) ou encore Usenet.

                XMPP offre tout un ensemble de « choses » :
                * la XSF
                * des RFC
                * des XEP
                * des implémentations libres et proprios
                * des services
                C'est une écosystème gigantesque sur lequel il est possible de redéfinir et d'étendre de nombreux concepts, en place et à venir...

Suivre le flux des commentaires

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