Le Blog

réseaux sociaux - Elgg - créer un réseau social avec Elgg

Publié dans CMS, Divers, Réseaux sociaux, Tutoriaux par Bruno Flaven, le Jeudi 25 juin 2009


Réseaux Sociaux - créer un réseau social avec Elgg

Elgg se pose aujourd’hui comme un des outils de gestion de Réseau Social les plus aboutis. Il est un concurrent sérieux de BuddyPress bien qu’il ne s’appuie pas comme BuddyPress sur la vitalité sans pareille d’une communauté de pratiques et de développement forte de millions de membres. Toutefois ses qualités sont indéniables.

Pour tester Elgg, nous allons faire le test en local. Pour installer rapidement et simplement un site en local qui fonctionne avec le couple php-mysql, reportez-vous aux articles de ce blog :

Ensuite, nous procéderons à l’installation de Elgg via le navigateur. Nous ferons un tour rapide de Elgg et un rapide comparatif avec BuddyPress notamment.

Elgg 1.5, une solution pour gérer un réseau social

La genèse de Elgg

Je ne m’éternise pas sur l’origine du nom qui pour un francophone reste un mystère et donne la possibilité de faire de gentil jeux de mots “franglish” sur la similitude avec le mot “egg” (oeuf) ou pas dont voici un petit florilège : “Pas d’omelette sans casser des Elggs”, “Le vol de l’Elgg royal”, “Liberté Elggalité Fraternité”, “les Elggs marines”…

Plus sérieusement, si vous souhaitez plus d’informations sur la nature du projet et les membres fondateurs, je vous invite à découvrir la page “About” du site officiel. Il existe aussi la liste des instigateurs du projet disponible dans CONTRIBUTORS.txt. Citons les deux concepteurs d’origine qui sont : Ben Werdmuller et David Tosh dont les portaits figurent en bonne place sur le site officiel.

Elgg, started in 2004, is an open source social engine which powers all kinds of social environments - from education and business to martial arts and rugby. If you are looking for a professional social intranet or want to run a site for your organisation, Elgg is a great choice.

Source : http://elgg.org/about.php

Avantages et Inconvénients de Elgg

Dans le match Elgg vs BuddyPress, Hecube est relativement bien placé pour le savoir dans la mesure où nous avons choisi BuddyPress pour notre propre réseau et nous en connaissons les méandres. Ainsi, si on dénombre les fonctionnalités de Elgg, elles sont aussi nombreuses que celle de BuddyPress et pour certaines bien plus avancées.

Avantages

Vous avez des modules qui vous permettent d’étendre les fonctionnalités pour suivre, gérer, mettre à jour bref de faire vivre pleinement votre réseau social.

  • “Activity”, l’activité de votre réseau
  • “Profile”, le profile de chacun des utilisateurs inscrits de votre réseau
  • “Notifications”, la possibilité de notifier les utilisateurs inscrits de votre réseau
  • “Groups”, les groupes à la manière de facebook
  • “Blog”, le blog disponible pour chaque utilisateur inscrit
  • “Embed media”, l’utilisateur peut enrichir de sa production digitale ses contributions au réseau
  • “Files”, ellg vous permet de gérer une grande variété de fichiers qui peuvent être mis à disposition ou non sur le réseau.
  • “The wire”, le fil d’information de votre réseau
  • … etc. Plus sur le site officiel de Elgg Source : http://elgg.org/about.php

Enfin, d’un point de vue plus technique, vous disposez avec Elgg d’un accès facilité à une API en mesure de fournir des résultats en JSON, PHP serialisé ou des données au format XML.

Inconvénients

Elgg sur un dédié
A noter, pour Elgg, PHP doit s’exécuter en mode Apache, et non en mode CGI ce qui rend difficile le fonctionnement de Elgg sur un serveur mutualisé.

Elgg, combien de divisions ?
La communauté est naissante à l’inverse de BuddyPress qui s’appuie comme nous le disions plus haut sur la communauté WP donc une puissance de développement colossale pour les plugins, les thèmes destinés aux blogs mais assurément bientôt pour BP.

Installer Elgg 1.5

1. Créer la BDD qui va réceptionner Elgg 1.5

Comme dans de précédents articles, il y a plusieurs façons de créer sa BDD soit directement dans le client MySQL soit en passant par phpMyAdmin. Nous choisirons la première méthode. Toutefois, si vous souhaitez procéder via phpMyAdmin, reportez-vous à l’article suivant qui présente la méthode pour une installation…. Wordpress ou Drupal ! Cf Créer et héberger son site avec Wordpress.

Les information indispensables pour créer la BDD
On crée une base et un utilisateur simultanément bien sûr, en production, le mot de passe peut et doit être légèrement plus complexe. La commande SQL pour se connecter au client MySQL de MAMP. Vous vous connecté(e) comme utilisateur root, le mot de passe est root

	/Applications/MAMP/Library/bin/mysql -u root -p
	# Création de la base elgg_install
	CREATE DATABASE elgg_install;
		# Création simultanée de la base elgg_install et l'utilisateur elgg_install
		CREATE USER 'elgg_install'@'localhost' IDENTIFIED BY 'elgg_install';GRANT USAGE ON *.*
		TO 'elgg_install'@'localhost' IDENTIFIED BY 'elgg_install'WITH MAX_QUERIES_PER_HOUR 0
		MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
		CREATE DATABASE IF NOT EXISTS elgg_install;GRANT ALL PRIVILEGES ON 
		elgg_install.* TO 'elgg_install'@'localhost';

Au terme de ces commandes dans MySQL, nous aurons donc de quoi compléter les informations demandées lors de l’installation de elgg 1.5. A savoir les informations suivantes :

Database Name= elgg_install
Database User name = elgg_install
Database Password = elgg_install
Database Host = localhost

3. La marche à suivre écran par écran

On va donc installer en local, la version anglaise de Elgg 1.5 qui est disponible en téléchargement sur le site de Elgg : http://elgg.org

L’écran de bienvenue
Réseaux Sociaux - créer un réseau social avec Elgg

Connexion à la base de données
Le préfix des tables a été changé en elgg_ et non elgg

Réseaux Sociaux - créer un réseau social avec Elgg

Réseaux Sociaux - créer un réseau social avec Elgg

L’écran de configuration du système “Elgg”
Réseaux Sociaux - créer un réseau social avec Elgg

La question du chemin qui tue…

Lors du déploiement de Elgg, il vous sera demandé d’indiquer le chemin du répertoire.
Répertoire où seront stockés les fichiers envoyés (uploadés) par les membres de votre réseau. Notre répertoire se nomme myuploads. C’est un enjeu de taille et un vrai frein lors de l’installation car Elgg ne vous facilite pas la tâche en effet Elgg rechigne à créer ce répertoire ! Quelques-uns des messages d’erreur que vous pourriez rencontrer.

  • Le répertoire myuploads se situe dans l’arborescence de Elgg. Vous n’avez semble-t-il pas les droits d’exploiter un tel répertoire. Entre nous, cette impossibilité est plutôt sage.
  • Enervé(e), vous ne souhaitez pas créer ce fameux répertoire
  • `

Les messages d’erreurs liés à la configuration pour le répertoire de réception des fichiers envoyés (uploadés) par les membres de votre réseau

Réseaux Sociaux - créer un réseau social avec Elgg

Réseaux Sociaux - créer un réseau social avec Elgg

le chemin est incorrect
Réseaux Sociaux - créer un réseau social avec Elgg

Réseaux Sociaux - créer un réseau social avec Elgg

La solution : Le répertoire les fichiers envoyés (uploadés) par les membres de votre réseau en l’espèce myuploads doit être hors- de l’arborescence de Ellg. Une fois passée cette étape l’installation se termine assez vite.. Dans notre exemple, le chemin correct est donc /Applications/MAMP/htdocs/81_elgg/myuploads/

Réseaux Sociaux - créer un réseau social avec Elgg

Les derniers points de la configuration

On a vu “la question du chemin qui tue” qui mériterait un peu plus “try a user friendliness” lors de l’installation. Voyons rapidement les différents points de configuration importants que nous propose Elgg lors de l’installation. Outre le fait que vous allez envoyer des statistiques à Curverider (éditeur de Elgg) de manière plus poussée sans doute que le simple crédit inséré par l’outil WordPress <meta name="generator" content="WordPress 2.0.4" /> <!-- leave this for stats -->

Il existe enfin cette option Enable the RESTful API. C’est en effet, un des éléments particulièrement intéressant de Elgg bien qu’à première vue assez technique. .

Pour vous figurer REST de manière compréhensible pour tous.

  • Votre réseau est en mesure de faire comme twitter ou facebook. C’est l’argument marketing/commercial par excellence.
  • Votre réseau social produit une information “comestible” par d’autres applications et cela grâce à la mise à disposition d’une simple URL.

Elgg semble donc être plus qu’un CMS de gestion de réseau social, c’est une véritable API.

Réseaux Sociaux - créer un réseau social avec Elgg

Turn on debug mode
Debug mode provides extra information which can be used to diagnose faults, however it can slow your system down so should only be used if you are having problems:

Enable HTTPS logins
Enable this to have user logins performed over HTTPS. You will need to have https enabled on your server for this to work.

Enable the RESTful API
The RESTful API is a flexible and extensible interface that enables applications to use certain Elgg features remotely.

Send anonymous usage statistics
This option lets Elgg send anonymous usage statistics back to Curverider.

Création du compte d’administration principale
C’est la partie “Register” qui va vous permettre de créer le compte “admin” dans notre exemple hecube

Display name: hecube
Email address: info@hecube.net
Username: hecube
Password: ****** (hecube)
Password (again for verification): ****** (hecube)

Réseaux Sociaux - créer un réseau social avec Elgg

L’écran de login
Réseaux Sociaux - créer un réseau social avec Elgg

Logué en tant qu’admin…
Réseaux Sociaux - créer un réseau social avec Elgg

L’installation est terminée

4. Exploration des écrans de l’administration de Elgg

Edition du compte d’administration principale
Réseaux Sociaux - créer un réseau social avec Elgg

Activation des plugins
Réseaux Sociaux - créer un réseau social avec Elgg

Placement des widgets sur la page par défaut des membres
Réseaux Sociaux - créer un réseau social avec Elgg

Gestionnaire des pages externes (page hors-blog finalement)
Réseaux Sociaux - créer un réseau social avec Elgg

Gestionnaire de catégories
Réseaux Sociaux - créer un réseau social avec Elgg

Poster un article dans le blog
Réseaux Sociaux - créer un réseau social avec Elgg

La gestion des médias

Elle est bien faite et très web 2.0 dans son IHM :):)
Réseaux Sociaux - créer un réseau social avec Elgg

Réseaux Sociaux - créer un réseau social avec Elgg

Réseaux Sociaux - créer un réseau social avec Elgg

Personnaliser un peu l’ensemble

Votre icône
Réseaux Sociaux - créer un réseau social avec Elgg

Le rendu du site après quelques minutes…
Réseaux Sociaux - créer un réseau social avec Elgg

Pour info

Sans entrer dans le détail de la création des groupes, de la messagerie entre les membres, de l’invitation via entre membre afin de devenir ami… mais cependant tout est là et ce de façon assez ergonomique !

Le menu déroulant pour accéder aux fonctionnalités
Réseaux Sociaux - créer un réseau social avec Elgg

La messagerie interne
Réseaux Sociaux - créer un réseau social avec Elgg

La messagerie interne - “you got a message”
La statut est indiqué par la petite enveloppe passée en rouge, c’est du détail et c’est pas mignon çà !
Réseaux Sociaux - créer un réseau social avec Elgg

Un tour sommaire et rapide sur le template

Effectivement, après la prise en main rapide, on cherche souvent rapidement à modifier l’apparence. L’ensemble des vues se trouve dans le répertoire mod

Ensuite, vous pouvez découvrir en éditant quelques-uns des fichiers tel que externalpages > views > default > expages > footer_menu.php, c’est un début et il est vrai que le “theming” chez Elgg est plus compexe que sur WP.

Deux sources d’information imrtnates sur le “theming” chez Elgg

Modification de externalpages > views > default > expages > footer_menu.php

<?php
 
	/**
	 * Elgg External pages footer menu
	 * 
	 * @package ElggExpages
	 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
	 * @author Curverider Ltd <info@elgg.com>
	 * @copyright Curverider Ltd 2008-2009
	 * @link http://elgg.com/
	 * 
	 */
 
?>
<!-- ajout en dur du lien hecube dans le theme de elgg -->
<div class="footer_toolbar_links"><a href="http://hecube.net" target="_blank">hecube</a> | <a href="<?php echo $vars['url']; ?>pg/expages/read/About/"><?php echo  echo elgg_echo('expages:about'); ?></a> | <a href="<?php echo $vars['url']; ?>pg/expages/read/Terms/"><?php echo elgg_echo('expages:terms'); ?></a> | <a href="<?php echo $vars['url']; ?>pg/expages/read/Privacy/"><?php echo elgg_echo('expages:privacy'); ?></a> | </div>

Pour aller plus loin

Marque-page :
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • blogmarks
  • Spurl
  • Symbaloo
  • Technorati
  • TwitThis
  • Wikio
  • Ma.gnolia
  • MySpace
  • Netvibes
  • StumbleUpon
  • Wikio IT
  • Yigg

22 Responses to “réseaux sociaux - Elgg - créer un réseau social avec Elgg”

  1. Hamy Julien a écrit:

    Au secours !! J’adorerais avoir un réseau mais je ne comprends rien dès l’étape MySQL.
    Aidez moi !!

  2. [...] Flex , Curl et Twitter - créer une application en Flex interfacé avec TwitterHamy Julien dans réseaux sociaux - Elgg - créer un réseau social avec ElggMacPorts - la puissance de l’open-source sur votre Mac Os X | Réseau social des créateurs de [...]

  3. Ullmann a écrit:

    J’ai une grande question!
    Peut on rendre le réseau que l’on créer sur Elgg entièrement privée. Les membres qui souhaitent y entrer doivent être accepter par l’administrateur du réseau et toutes les informations qui circule sur le réseau doivent être visible par ses membres uniquement?
    Merci pour vos réponses.

  4. Bruno Flaven a écrit:

    @ Hamy Julien, c’est donc que les explications données ne valent pas grand chose… Un article sur MySQL via le client et via phpMyadmin est en préparation. Cet article pourra peut-être adoucir la difficulté :):)

  5. @ Ullmann la réponse est oui maintenant c’est comment le mettre en place, il faut plus qu’une simple réponse à un commentaire… En gros, c’est faire de votre outil de réseau social une extension d’un extranet où tout est contrôlé apriori par un administrateur avec BuddyPress comme avec Elgg, cela peut se faire pas de doute !

  6. Bonjour Bruno,
    Papier très intéressant.

    J’ai des questions pour essayer de mieux comprendre ces outils (en local sur mon mac dans un 1er temps ;P)
    Avez-vous connaissance de sites de médias (ou à gros volume) qui utilisent Elgg ?
    Vous comparez avec BuddyPress. A votre avis, lequel des 2 systèmes tiendrait-il le plus une forte montée en charge (sollicitation) ?
    Enfin, avez-vous testé SocialPlatform http://socialplatform.com/ ?

    Merci.
    JPG

  7. Bruno Flaven a écrit:

    @Hamy Julien L’article sur MySQL est publié, c’est un condensé de ce qu’il faut savoir pour administrer et manipuler une BDD MySQL. Cet article était depuis longtemps dans les cartons, c’était l’occasion de lui faire voir le jour ! Ensuite, l’installation de Elgg ou d’autres CMS devrait être un “piece of cake”. Cf
    MySQL, PhpMyadmin - Administrer une base de données MySQL via la console MySQL et PhpMyadmin

  8. Bruno Flaven a écrit:

    @ JPG

    Site d’importance utilisant elgg ?
    BF >> Je n’en connais pas à ce jour, un des derniers que je connais est l’université de gran canaria (http://sociedadytecnologia.org/)… On peut pas dire la même chose de Buddypress ! Sans doute plus de news suite au elggcamp de Paris…

    Une précision sur l’article : Diversité des thèmes ?
    BF >> Une des faiblesses de Elgg à peine évoquée dans l’article c’est le nombre assez faible de templates pour Elgg et leur mise à disposition rapide pour les utilisateurs du réseau. A titre de comparaison, pour notre réseau hemedia.net, nous avons installé pas moins de 38 thèmes wordpress pour les potentiels utilisateurs et je ne parle même pas des plugins WP.

    Montée en charge ?
    BF >> Nous faisons des tests actuellement, buddypress est fragile mais se défend quant à elgg les tests sont en cours. On fera sans doute un article là-dessus. A suivre donc.

    SocialPlatform http://socialplatform.com/ ?
    BF >> Je ne connaissais pas mais il faut voir. Cela présente sans doute un avantage évident lorsque l’on veut une solution clé en main. Toutefois, nous offrons ce type de service sur elgg ou buddypress justement, l’arbitrage dépend des objectifs poursuivis et de pas mal d’autres paramètres, il n’est pas seulement financier. Or une solution propriétaire captive peut s’avérer plus coûteuse qu’une solution open source adossé à une communauté dynamique.

  9. MrJulien a écrit:

    Bonjour,
    Je cherche un moyen de placer le répertoire DATA ailleurs mais vu que j’ai uploadé tous les fichiers elgg à la racine du site, je ne sais pas trop ou mettre ce satané dossier DATA!!!

    Avez vous une idée?

    Merci. Julien.

  10. Bruno Flaven a écrit:

    @ MrJulien BF >> d’évidence, c’est le problème du chemin qui tue ! Si je considère que le répertoire DATA à la même fonction que le répertoire myuploads de l’article, c’est à dire réceptionner tous les données uploadées par les utilisateurs alors la seule solution est :
    J’imagine que nous sommes dans le répertoire racine public_html, il faut donc que les fichiers Elgg soient dans un répertoire distinct par exemple public_html/elgg/ de celui de datas, ainsi ce dernier pourrait être dans public_html/datas/ avec les droits correctement attribués. Il reste donc à créer ces deux répertoire et à renvoyer les fichiers Elgg, c’est à priori ma seule solution au vu de ce qu’y est décrit…

  11. MrJulien a écrit:

    Oui c’est clair que c’est la question qui tue car en fait voie tu, j’aimerai pouvoir accéder directement au site par son adresse sans passer par des sous dossiers…

    Y a t il un moyen d’accéder au site même avec des sous répertoires?

    @toute.

  12. MrJulien a écrit:

    C’est bon j’ai la solution puisque je vais faire une redirection grâce à un domaine en .tk donc j’ai juste à spécifier l’url d’origine et le tour est joué :-)

    Suis-je C**!

    Merci de votre aie, les amis :-)

    Julien.

  13. Bruno Flaven a écrit:

    @ MrJulien BF >> parfait !

  14. zogotounga a écrit:

    wow, faudrait pouvoir éditer. Quand je vois la palanquée de fautes que j’ai faite, je réécris tout.
    Mon problème est assez simple à décrire, mais commence à me rendre fou.
    Certaines inscriptions ne fonctionnent pas. Notamment, une avec une adresse @mac.com et deux autres avec @gmail.com, ces utilisateurs ne reçoivent pas leur mail de confirmation. Le compte semble créé, mais quand ils tentent de se connecter, ça leur dit que leur inscription n’a pas été validée. Une idée ?

  15. Bruno Flaven a écrit:

    @ zogotounga BF >> Une explication possible, cela sent le filtre automatique. Si un utilisateur utilise une adresse gmail pour son inscription à BP, par défaut google va l’envoyer dans répertoire spam, l’utilisateur a donc peut de chance de trouver le mail en questio et tous les suivants. La solution à priori est qu’il faut chercher le mail de confirmation, confirmer et informer aussi gmail que tous les mails venant de ce domaine ne sont pas du spam… L’explication vaut sans doute aussi pour Mac

  16. laurence a écrit:

    Bonjour, j’ai besoin d’aide merci je suis bloquée !!

    J’ai suivie toutes les indications pour la création de la base sous phpmyAdmin, la base elgg_install est donc créée.
    Je suis au panneau System settings dans lequel j’ai rempli les champs suivant :

    The site URL, followed by a trailing slash:
    http://127.0.0.1/elgg1/

    C:/Program Files/EasyPHP5.3.0/www/elgg1/myuploads

    The full path to the directory where uploaded files will be stored, followed by a trailing slash: myuploads

    The default access permissions logged in users

    Maintenant quand je valide sur Save j’ai ce message qui apparait.

    Apparement il ne trouve pas la page pour poursuivre l’installation
    Objet non trouvé!

    L’url requise n’a pu etre trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée. Nous vous prions d’informer l’auteur de cette page de cette erreur. Erreur 404.

    Mon problème vient t’il de l’adresse Url http://127.0.0.1/elgg1/ ?
    Merci encore de votre aide car je suis bien navrée d’être bloquée si prêt du but
    Bonne journée
    Laurence

  17. Bruno Flaven a écrit:

    @laurence si mes souvenirs sont bons, il me semble qu’il manque le trailing slash sur votre chemin, à première vue c’est
    C:/Program Files/EasyPHP5.3.0/www/elgg1/myuploads/ et non C:/Program Files/EasyPHP5.3.0/www/elgg1/myuploads

  18. laurence a écrit:

    bonjour a tous et merci bruno pour ton aide
    J’ai remis le slash au bon endroit mais rien n’y fait j’ai toujours cette erreur :
    Objet non trouvé!
    L’URL requise n’a pu etre trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée.

    Je comprend pas mon erreur ? Cela vient-il de ce parameter The site URL, followed by a trailing slash: http://127.0.0.1/elgg/

    bonne fin de journée
    laurence ” la recherche de la solution !!!”

  19. Bruno Flaven a écrit:

    @laurence Si le répertoire est C:/Program Files/EasyPHP5.3.0/www/elgg1/myuploads
    L’URL correct devrait être http://127.0.0.1/elgg1/ ou http://locahost/elgg1/ et non http://127.0.0.1/elgg/
    Il semble qu’il y est une incohérence entre l’URL du site et son répertoire sous EasyPHP

  20. mwa a écrit:

    bonsoir laurence moije pensse que c’est due o fichier racine elgg que tu as nommer elgg1 es si tu te souvienau niveau de ta BDD tu as cree elgg_install et non elgg1_install en locurence il ya une incoherence entre le nom du repertoir sous easy php et ta BDD .. voila je suis un peut novice mais je pensse que sa doit etre coherent

  21. ADON a écrit:

    J’ai pu installé elgg, sur mon poste mais quand je veux ouvrir une session avec mon compte “admin”, j’ai ce message:
    activate your account, please confirm your email address by clicking on the link we just sent you.
    Comment passer cette étape puisque j’ai précisé mon E-mail mais il n’y a pas de message dans ma boite.
    Merci

  22. Bruno Flaven a écrit:

    @ADON Deux pistes possibles :

    Le mail de confirmation a pu attérir dans votre boite SPAM si vous avez une adresse gmail.
    Un phpinfo (); permettra de déterminer dans l’environnement Apache où par le mail de confirmation. Par défaut sous MAMP, les valeurs sont complétées par you@example.com
    Server Administrator you@example.com
    SERVER_ADMIN you@example.com

Répondre