0

Mastodon et ses problèmes de fédération

J'utilise depuis quelques semaines le réseau social décentralisé basé sur GNU Social : Mastodon. Les différentes vues entre personnes suivies, notifications, flux local (par instance) et flux général fonctionnent efficacement avec son organisation à la TweetDeck. J'ai cependant un soucis qui met à mal mon expérience utilisateur : la fédération entre les instances.

Qu'est-ce que la fédération ?

Dans un réseau décentralisé, les instances (mastodon.social, framapiaf.org, mamot.fr, occitanie.social…) doivent communiquer entre elles pour rendre l'expérience de l'utilisateur transparente. Pour faire simple, la fédération nous permet de discuter avec des personnes situées sur une autre instance que la nôtre sans avoir à y créer un nouveau compte.

De ce que j'ai pu constater, sur Mastodon la fédération s'active lorsque deux personnes d'instances différentes rentrent en contact. À partir de là, les autres personnes de ces deux instances ont accès aux informations concernant respectivement les deux premiers utilisateurs pris en exemple plus haut.

Un cas concret

  1. @A@instance1 rentre en contact avec @B@instance2
  2. @C@instance2 répond à @B@instance2
  3. Aucun utilisateur sur @instance1 ne suit @C@instance2
  4. @A@instance1 répond au même message que @C@instance2 sans voir la réponse de ce dernier

Je ne suis pas allé très loin dans mes tests, il est donc possible que je sois passé à côté d'un détail technique (durée de cache, configuration de l'instance...). Quoi qu'il en soit, le problème reste le même. Dans le cadre d'un message, le fil devrait comporter l'intégralité des réponses quelle que soit l'instance des personnes ayant participé. Sans ça, l'intérêt des discussions dans un espace décentralisé est relativement limité.

Exemple en images

Ce que je vois depuis l'instance Occitanie.social sur laquelle j'ai mon compte

Conversation sur l'instance du message original

Comme vous pouvez le voir, avec mon compte sur Occitanie.social, je loupe toute la discussion.

En conclusion

Pour le moment, plus une instance a d'utilisateurs qui sont actifs avec d'autres utilisateurs hors de son instance, plus elle s'enrichit. Pour moi, un système décentralisé doit proposer l'inverse. J'espère sincèrement que ce problème sera résolu rapidement. Actuellement, mon expérience de Mastodon est cassée. Il m'est difficile de suivre les conversations depuis l'instance que j'ai choisi et dont le nombre d'utilisateurs est restreint. Si je souhaite suivre une discussion, je suis obligé d'ouvrir un nouvel onglet pour être sûr de ne rien rater.

0

Lire les logs d’un mutualisé OVH avec GoAccess

Je vous ai présenté GoAccess il y a quelques temps pour interpréter vos logs Apache. Cette fois, je vais vous expliquer comment permettre à GoAccess d'interpréter les fichiers produits par les serveurs mutualisés d'OVH.

goaccess-logo

Configuration

Une fois GoAccess installé, éditez ou créez le fichier .goaccessrc au niveau de votre home utilisateur et ajoutez-y les lignes suivantes :

  • log-format %h %v - %^[%d:%t %^] "%r" %s %b "%R" "%u"
  • time-format %H:%M:%S
  • date-format %d/%b/%Y

Récupérer les logs chez OVH

Je ne peux que vous conseiller d'aller ajouter un utilisateur pouvant accéder aux logs histoire de pouvoir utiliser son mot de passe dans un script qui automatisera la tâche de récupération (dans un cron mensuel par exemple). Ce guide dédié vous expliquera comment faire.

Connectez-vous ensuite à l'espace de gestion des logs à l'aide de l'adresse suivante : https://logs.ovh.net/votredomaine.tld.

Lancer l'analyse

Comme vu dans mon précédent billet sur ce sujet, vous pouvez directement analyser les archives à l'aide de la commande zcat.

zcat /var/log/apache2-backup/domain.tld/2017-03/domain.tld-* | goaccess -c --ignore-crawlers -a

Ajouter le domaine aux requêtes

Lorsque plusieurs domaines sont configurés, il est utile de pouvoir connaître lequel est responsable d'une requête en particulier. Pour cela, la commande awk permet de placer automatiquement cette information au bon endroit.

zcat /var/log/apache2-backup/domain.tld/2017-03/domain.tld-* | awk '$7=$2$7' | goaccess -c --ignore-crawlers -a

0

Pourquoi j’ai quitté Google Analytics

Depuis le début du mois d'avril, je n'utilise plus Google Analytics. Il me servait essentiellement à connaître les statistiques de visites sur ce blog (ainsi que sur mes autres sites). Je vous avais fait part de cette envie lors de la présentation de l'outil d'analyse de logs GoAccess. C'est désormais chose faite.

Pour les curieux, et peut-être aussi pour faire prendre conscience à ceux qui, par habitude, ne penseraient pas à revenir sur ce choix, je me suis dit qu'un retour pourrait être utile.

  • Ce blog est majoritairement consulté par des technophiles dotés de bloqueurs de traqueurs analytics/pubs et je me suis rendu compte que les stats entre GoAccess et Analytics n'avaient rien à voir,
  • j'ai tendance à croire qu'une trace dans un log sera toujours plus fiable qu'un événement JavaScript (chaque ressource demandée par un client, même arrêtée inopinément est tracée),
  • je refuse d'engraisser gratuitement les algorithmes de Google avec les contenus que je produis, et par là même occasion de suivre et analyser les faits et gestes de mes lectrices et lecteurs,
  • étrangement le taux d'utilisateurs de Chrome est beaucoup -beaucoup- plus élevé sur Google Analytics que sur GoAccess (tirez-en les conclusions que vous voulez) (oui, je suis pro-Firefox et j'assume),
  • j'essaie autant que possible de me passer des services proposés par Google quand une alternative viable et libre existe. Cette entreprise, dont le nombre de monopoles ne cesse de croître, fait bien ce qu'elle veut des données que je lui offre et ça fait bien longtemps maintenant que j'ai adopté la maxime « si c'est gratuit, c'est que c'est toi le produit »,
  • ce sera toujours un script en moins à charger (j'en ai d'ailleurs profité pour supprimer les quelques scripts externes qui traînaient - coucou Gravatar),
  • je devais consulter le tableau de bord Analytics une fois tous les deux mois et GoAccess me donne toutes les métriques dont j'ai besoin pour m'assurer que tout fonctionne normalement.

Je pourrais continuer comme ça longtemps mais les points principaux sont là. Et vous, c'est pour quand ?

0

Baser son activité sur un service tiers est dangereux

tl;dr : Si demain, le service que vous utilisez pour votre business fermait ses portes sans crier gare, que feriez-vous ?

Plus le temps passe et plus mes doutes  sur le risque de faire reposer son activité sur une plate-forme non-maîtrisée s'avèrent justifiés. Il y a quelques années, nombreux étaient les services dont la plus-value reposait essentiellement sur l'API de sites tels que Twitter qui se sont retrouvés le bec dans l'eau. Aujourd'hui, c'est au tour de certains YouTubeurs de s'insurger contre la politique de Google concernant les mises en avant de certaines vidéos. Leur représentant semble tout trouvé en la personne du millionaire PewDiePie qui à sorti un bluff auquel personne n'a cru. Pour information, ce dernier possède la chaîne la plus suivie de YouTube : 50 millions d'abonnés (à l'heure où je rédige ces lignes), rien que ça.

Goldfish bowl with goldfish by garhol

Mais revenons-en à nos moutons. Je prends l'exemple assez parlant de YouTube car la mise en place d'une chaîne y est instantanée. Créez un compte, mettez en ligne une vidéo ou lancez un direct et l'aventure commence. La notoriété du service, beaucoup de talent et une certaine régularité peuvent être un excellent tremplin pour se faire connaître. Après plusieurs années de labeur à faire fructifier sa chaîne, à construire une communauté, Google décide du jour au lendemain que ce que vous produisez ne correspond plus à leur charte d'utilisation. Vous pensiez avoir construit votre nid douillet ? Vous n'étiez en fait qu'un simple résident d'un hôtel de luxe hébergé gracieusement par la direction. Cette dernière a décidé de revoir ses exigences et vous claque la porte au nez sans autre forme de procès. Votre page constituait l'unique moyen pour interagir avec vos fans ? Dommage !

L’algorithme de recommandations est un exemple concret du problème que je viens d'énoncer. Hier chacune de vos vidéos était mise en avant. Aujourd'hui, ce n'est plus le cas et aucun moyen de savoir exactement pourquoi.

Je ne suis pas en train de dédouaner Google pour sa gestion de YouTube. Je souligne simplement l'importance donnée aux endroits où les contenus générant des revenus, ou importants à nos yeux, sont placés est énorme. Medium en est l'exemple le plus récent. Pour ma part, l'indépendance est un facteur capital. La création d'une base d'utilisateurs fidèles relève d'une alchimie complexe. Devoir la faire bouger de ses habitudes est un exercice périlleux qui peut coûter cher.

Quelles implications ?

D'utiliser un service tiers

Points positifs

  • Aller plus vite au démarrage d'un service
  • Profiter de la notoriété du service utilisé
  • Réduire les coûts d'infrastructure, maintenance…
  • Réduire le nombre de compétences techniques requises

Points négatifs

  • Tributaire du moindre changement (passage du gratuit au payant, mise en avant, conditions d'utilisation…)
  • Difficile à faire évoluer dans son sens
  • Aucune maîtrise des données engrangées par le fournisseur (profilage de vos utilisateurs, régies pubs et cookies à gogo)

D'utiliser un service que nous gérons

Pour cette partie, partez de l'inverse des points cités plus haut et complétez avec ce qui suit.

Points positifs

  • Vous êtes chez vous !
  • Vous choisissez complètement l'expérience de vos utilisateurs !
  • Déplacements de serveurs, de noms de domaines… comme vous le souhaitez
  • Possibilité d'ajouter des fonctionnalités manquantes ou supprimer celles qui ne servent pas

Points négatifs

  • Forte contrainte de gestion au quotidien
  • Coûts pouvant être importants (hébergement, nom de domaine, bande passante…)

Conclusion

A minima, multiplier les sources qui servent vos contenus me parait être une position pertinente.  Avoir un chez-soi comme hub central devrait être un des premiers objectifs sur votre liste des choses à faire. Quelle que soit la tactique que vous adoptez, vous ne pourrez plus dire que vous n'étiez pas au courant.

1

GoAccess pour analyser ses logs Apache

Pourquoi utiliser GoAccess ?

Dans mon cas, je souhaite me débarrasser de Google Analytics dont je n'utilise qu'1% des fonctionnalités. Je cède à ce dernier beaucoup trop d'informations concernant les visiteurs de mes sites. L'idée était de continuer à connaître les pages les plus visitées, les erreurs rencontrées et une potentielle chute de fréquentation pouvant provenir d'un problème technique. Quoi de plus fiable que d'analyser des logs en remplacement d'un bout de JavaScript souvent bloqué par UBlock Origin ou Adblock Plus.

En résumé :

  • je donne moins d'informations à Google
  • j'évite le chargement d'un script externe à mes visiteurs
  • je peux quand même continuer à vérifier que tout va bien

La seule contrepartie dans mon cas étant la récupération des logs chez OVH que je pense automatiser dans la foulée.

goaccess-logo

Installation

Un paquet GoAccess est sûrement disponible pour votre distribution Linux ou vous pouvez le compiler depuis les sources. Je vous renvoie pour cela à la documentation d'installation.

Commandes

Dans les exemples suivants, j'utiliserais le fichier de log présent sur mon disque à l'emplacement /var/log/apache2/access.log.

Utilisation de base

goaccess -f /var/log/apache2/access.log

Ignorer les crawlers/bots/spiders avec l'option --ignore-crawlers

goaccess -f /var/log/apache2/access.log --ignore-crawlers

Lire des logs archivées

zcat /var/log/apache2/access.log*.gz | goaccess

Génération d'un rapport au format HTML

goaccess -f /var/log/apache2/access.log --ignore-crawlers -a -o report.html

GoAccess HTML report screenshot

Lancer un tableau de bord d'analyse en temps réel

goaccess -f /var/log/apache2/access.log -o /var/www/report.html --real-time-html

Remplacez /var/www/report.html par un endroit accessible par votre serveur web. Il ne vous restera plus qu'à accéder à ce dashboard via l'adresse https://<votre-domaine>/report.html.

Choisir le bon parseur pour Apache

Il se peut que la commande précédente n'apporte pas le résultat escompté. En effet, les logs peuvent être construits de nombreuses manières. Pour que GoAccess comprenne les données issues du fichiers que vous lui fournissez, utilisez l'option -c.

goaccess -f /var/log/apache2/access.log -c

Un menu va vous proposer les différents parseurs disponibles. Pour d'Apache, nous utiliserons le premier : NCSA Combined Log Format. Le deuxième, NCSA Combined Log Format with Virtual Host, est à sélectionner lors de l'utilisation de virtuals hosts.

Vous pouvez à tout moment éditer les règles de parsing avec les touches suivantes :

  • touche c pour modifier le format du log
  • touche d pour modifier la date
  • touche t pour le temps

Les différentes options disponibles pour ces expressions régulières sont disponible sous l'encart SPECIFIERS du manuel de GoAccess.