réseaux sociaux – Elgg – 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