Dans la première partie de cette série, Revisiter les alternatives de réseau social open source, j’ai donné un bref aperçu d’une poignée de plateformes et de clients de réseaux sociaux open source. Dans cette partie, je vais plonger dans une installation de GNU Social et discuter de ce qui, à mon avis, sera essentiel pour rivaliser dans un monde dominé par Facebook / Twitter..
Pourquoi GNU Social?? Je pensais que c'était le système le plus simple à installer et à utiliser. Il est également écrit en PHP, qui est selon moi le langage open source le plus accessible. Bien que cela se limite à apparaître comme un clone de Twitter, je pense que cela a permis de garder toutes ses fonctionnalités de base et son interface utilisateur Web relativement propres. Cependant, le site Web GNU Social était en panne pendant plusieurs jours alors que je travaillais sur ce tutoriel; l'état du monde du réseau distribué open source reste parfois irrégulier.
Vous pouvez installer GNU Social sur n’importe quel système basé sur LAMP. J'ai posté mon guide générique d'installation d'une pile Ubuntu LAMP à titre de référence..
Connectez-vous à votre serveur:
ssh [email protected]
Installez tous les composants requis (Curl et Git sont également nécessaires pour ce tutoriel):
sudo locale-gen en_US en_US.UTF-8 sudo dpkg-reconfigure locales sudo apt-get update -q sudo apt-get dist-upgrade -y sudo apt-get install -y pound varnish php5 rsync htop emacs23-nox apache2 php5-mysql dtrx mysql-server exim4 sudo apt-get installer php5-curl git
Créez un répertoire pour le site et définissez les autorisations:
mkdir / var / www / social -p chown www-data: www-data / var / www / social cd / var / www / social
Cloner le référentiel:
git clone git: //gitorious.org/social/mainline.git .
Connectez-vous à MySQL avec votre mot de passe de base de données racine:
mysql -u root -p
Créez une nouvelle base de données et définissez les autorisations:
créer une base de données sociale; accorde tous les privilèges sur social. * TO "root" @ "localhost" identifié par "-your-pwd-"; privilèges de chasse; sortie;
Créez le site Apache:
nano /etc/apache2/sites-available/social.conf
Collez la configuration Apache ci-dessous, adaptée à votre serveur:
NomServeur social.votredomaine.com DocumentRoot / var / www / social DirectoryIndex index.php AllowOverride All Ordre Nier, Autoriser Autoriser de tous
Activez le site, désactivez le site par défaut et redémarrez Apache:
sudo a2ensite social.conf sudo a2dissite 000-default.conf service sudo apache2 reload
Vous devrez également configurer quelques répertoires pour l'accès en écriture:
chmod a + w / var / www / social / avatar / chmod a + w / var / www / social / fond / chmod a + w / var / www / social / fichier /
Pour activer de jolies chaînes d'URL, nous devons déplacer l'exemple. .htaccess
déposer et activer mod_rewrite
:
mv htaccess.sample .htaccess sudo a2enmod réécrire le service sudo apache2 restart
Visitez la page d'installation et entrez votre nom et vos paramètres de configuration:
http://social.votredomaine.com/install.php
Vous devriez voir quelque chose comme ça:
Et:
La procédure d'installation prend jusqu'à une minute, mais vous devriez voir quelque chose comme ça quand c'est terminé:
Voici à quoi ressemble la page d'accueil par défaut:
Installons le thème open source Neo Quitter, qui ressemble à Twitter:
cd / var / www / social / thème git clone https://github.com/hannesmannerheim/neo-quitter
Editez le fichier de configuration et ajoutez une entrée pour le thème Neo Quitter:
cd / var / www / social sudo nano config.php
Ça devrait ressembler à ça:
Coller dans cette ligne:
$ config ['site'] ['theme'] = 'neo-quitter';Retournez à la page d'accueil et cela devrait ressembler davantage à ceci:
Démarrer avec GNU Social
Enregistrement de votre compte
Il est temps de vous inscrire sur votre propre réseau social:
Une fois que vous vous êtes inscrit, vous serez accueilli par cette page utile de démarrage:
Après avoir téléchargé mon avatar, voici à quoi cela ressemble de publier une mise à jour de statut avec une photo:
Je ne suis pas tout à fait sûr de ce que le clic sur le cadenas ouvert et fermé fait, car la confidentialité semble être contrôlée par la liste déroulante.
Voici ma page de profil avec mon premier post:
Ressemble à tout site de réseautage social commun que vous connaissez?
Le polissage et la finition relatifs de GNU Social par rapport aux autres réseaux couverts dans la première partie sont la raison pour laquelle j'ai choisi de me concentrer dessus pour une exploration plus poussée..
Expérimenter avec le réseau fédéré
Ensuite, je voulais expérimenter les fonctionnalités réseau fédérées de GNU Social. J'ai sauté sur Quitter.is, un site GNU Social ouvert au public, et ai suivi le nom d'utilisateur de la première personne que j'ai trouvée là-bas..
Sur votre propre site, vous devez visiter votre page de profil, puis cliquer sur Suite + à distance dans la colonne de droite (ce n'est pas tout à fait intuitif):
Pour suivre un utilisateur distant, vous créez une adresse combinant son nom d’utilisateur distant avec le domaine du site réseau distant, par exemple. nom d'[email protected].
Bien que la performance soit relativement lente (Quitter se trouve en Islande), nous avons pu échanger des @ réponses et mon compte GNU Social est apparu dans la liste des suiveurs de Quitter.is. Lorsque je me suis connecté le lendemain, leurs mises à jour sont apparues sur mon installation GNU Social:
Voici à quoi cela ressemblait quelques heures plus tard, après avoir suivi quelques personnes plus éloignées:
En compétition avec Facebook et Twitter
Le défi de base
Voici certaines des qualités qui, selon moi, sont importantes pour qu'un système de réseau social open source puisse rassembler le soutien et l'adoption de la population:
En outre, de nombreux aspects de la réussite et de la domination de Facebook et de Twitter sont subtils ou invisibles pour nous. À titre d’exemple, voici quelques exemples importants:
Bien que la nature distribuée des réseaux fédérés open source puisse aider à limiter les dommages causés par la défaillance d'un seul nœud, elle complique également la résolution des problèmes de performances et la gestion de l'expérience utilisateur, car le réseau interagit avec une variété de nœuds installés..
Pour accélérer l'adoption, il peut également être important pour ces réseaux d'importer des flux de Twitter (et éventuellement de Facebook). Par exemple, si vous passez de Twitter à votre propre réseau social, vous serez peut-être le premier de votre groupe d'amis. Vous voudrez probablement continuer à recevoir les mises à jour et les notifications, à recevoir les demandes de suivi et à mettre en miroir les réponses de l'ancien réseau sur votre site, sans avoir à retourner à Twitter..
La technologie actuelle de l'API Twitter (User Streams) prend en charge cette possibilité technique pour les utilisateurs individuels, mais elle nécessite l'autorisation de prendre en charge un groupe d'utilisateurs (Site Streams). Voir Construire avec l'API Twitter (Tuts +). Je suppose qu'il est peu probable que Twitter accorde à Site Stream l'autorisation de ce type d'interopérabilité..
GNU Social fonctionne bien mais laisse une marge d’amélioration significative. Il fait du bon travail en gardant le jeu de fonctionnalités étroit et en implémentant bien les bases.
L'installation de la base de code pourrait être encore améliorée. Idéalement, certains packages devraient pouvoir être installés plus rapidement. Finalement, j'aimerais voir un guide d'installation et de maintenance pour les utilisateurs non techniques.
Il existe de nombreux réseaux où vous pouvez vous inscrire pour un compte gratuit et essayer la plate-forme. Dans le futur, il serait bien de voir les fournisseurs proposer d'installer et de maintenir les réseaux pour les personnes sur une base payante.
Bien que la base de code soit propre, elle n'utilise pas clairement un cadre standard.
GNU Social peut être utilisé pour un seul utilisateur ou en tant que communauté. La prise en charge de OStatus semble bien fonctionner. Et il y a un soutien pour les thèmes.
L'interface de publication est propre mais n'offre aucune recherche d'URL. Il ne semble pas y avoir de prise en charge des balises méta, des balises Open Graph ou des cartes Twitter..
L’expérience de l’utilisateur final est relativement simple, mais elle peut encore être améliorée. Par exemple, le suivi des utilisateurs distants n’était pas simple à partir de la chronologie de base. Je devais accéder à ma page de profil pour suivre les utilisateurs distants.
La performance était pénible en ce qui concerne la connexion à des réseaux distants, peut-être parce que j'étais connecté à un serveur basé en Islande. Il est probablement important que toutes ces opérations soient mises en file d'attente en tant que tâches en arrière-plan..
Il n'y a pas beaucoup de maturité à refléter sur Twitter et Facebook, les sauvegardes et les analyses, mais cela peut arriver avec le temps.
GNU Social se trouve à un endroit où les passionnés de PHP pourraient l’adopter, lancer leurs propres sites et contribuer à la base de code. Je pense aussi que l’équipe Open Source derrière GNU Social pourrait faire de grands progrès en gardant un ensemble de fonctionnalités étroit et en se concentrant sur le perfectionnement de ce qu’ils ont. Fournir une base de code extrêmement solide, bien architecturée et bien documentée, capable de recréer Twitter de manière fédérée serait un accomplissement important, et ils y sont déjà bien avancés..
Bien que GNU Social soit conçu pour prendre en charge OStatus, il existe un groupe de travail actif au sein du groupe de travail du W3C Social Web; vous pouvez suivre leurs travaux sur Twitter @socialwebwg.
N'hésitez pas à poster vos questions et commentaires ci-dessous. C'est un sujet vaste et je suis sûr qu'il y a beaucoup de choses que j'ai manquées. Vous pouvez également me joindre sur Twitter @reifman ou m'envoyer un courriel directement. Suivez la page de mon instructeur Tuts + pour voir les prochains articles de cette série..