{HackerSpace#Nantes} – Matrix.org un bon canal de communication

Hello la compagnie,

 

J'espère que vous allez bien !
Comme vous avez pu le constater dans mes derniers articles, j'ai  envie de monter à Nantes un HackerSpace.
Pour ne rien vous cacher, le projet avance doucement.
Nous ne sommes au jour d'aujourd'hui qu'une petite dizaine de fourmis ouvrières.
À notre actif, nous avons pour l'instant eu quelques réunions en petit comité, nous avons eu aussi l'occasion de nous retrouver dans la galerie d'Atlantis, dans un "Cafee Repair", puis aux Utopiales et enfin, nous avons participé à la 13 ème édition de la BattleDev !
Nous ne sommes pas encore parvenus (pour l'instant) à nous retrouver tous en même temps en fonction des contraintes personnelles de chacun (mais ça viendra).

J'ai donc décidé de vous parler aujourd'hui d'une chose importante :

Lorsque vous essayez de mettre en place un groupe, tout le monde n'est pas dans la même pièce, n'est pas dans la même entreprise, ni même dans le même village ou la même ville : il vous faut un moyen de communication.
Et l'erreur à ne pas faire est de sous-estimer cette tâche.

Critère de choix pour un canal de communication

Nos communications ne sont pas secrètes et ne doivent pas nécessairement l'être.
Cependant il est préférable de pouvoir échanger sur une plateforme sécurisée.

Interdire la suppression et l’édition de message

Heureusement que la petite équipe qui est avec moi adhère à ce concept.
Mais c'est là que les choses peuvent commencer à se compliquer pour vous.
Vous avez certainement cette question sur le bout des lèvres :

Pourquoi ne pas autoriser l'édition et / ou la suppression des messages ?

Il s'agit d'une mesure contraignante qui vous engage sur ce que vous pouvez avoir envie de dire ou de faire.

J'ai la chance de connaitre la majorité des personnes du groupe, mais ça n'est pas le cas de toutes les personnes, qui ne connaissent pas, elles aussi, tous les autres membres du groupe.
Cela implique de la confiance.
Alors pour éviter des vols de projet, de la détérioration et / ou du vol de matériel, des insultes, ...
Il est indispensable, pour protéger tout le monde, contre les autres mais aussi contre soi-même, que chaque message envoyé soit réfléchi et gravé dans le marbre.

Si les choses sont présentées ainsi, vous n'aurez normalement personne de réticent dans votre groupe ... à cette mesure de précaution.

Matrix.org, la solution sur le banc d'essai en ce moment

Matrix.org offre une plateforme qui pourrait être un mélange entre IRC et Slack les contraintes en moins.
Vous pouvez donc rejoindre ou être ajouté sur différents canaux.
L'interface est customisable et les données sont / ou peuvent être chiffrées.
Vous avez également sur chaque channel / discussion privée, la possibilité de définir des options de configurations.

Il n'est pas possible d'éditer mais il est possible de supprimer

Le souci c'est ça ... j'aurais préféré que l'on ne puisse faire ni l'un ni l'autre.

 

Une API

Matrix.org offre une API :
https://matrix.org/docs/guides/client-server.html

J'ai donc développé ici un "agent" qui récupère les événements :

  • Un utilisateur écrit
  • Un utilisateur a envoyé un fichier
  • Un utilisateur a posté un message
  • Un utilisateur est ajouté dans la conversation
  • etc ... 

Cet agent je le mets à disposition de chacun, et cela permet à tous d'avoir un fichier logs des différentes choses qui se passent sur ce canal de communication.
Je l'ai développé en python car ce script pour être efficace dans sa mission doit tourner 24 heures sur 24 et 7 jours sur 7. La solution la plus simple est de le mettre sur un serveur.
La majorité des personnes utilisent un serveur linux ... et python est normalement toujours présent !
Cela évite donc d'installer des paquets.

 

Mon script

 

Bien entendu, il ne s'agit là que d'un simple script, rien de bien complexe.
Et vous aurez la possibilité de le customiser ;)
N’hésitez pas à partager vos idées d'amélioration ou directement vos améliorations  en commentaire ^^

#!/usr/bin/python
import urllib2
import json
import requests
import time
print """
 
            
        Matrix Backup Account
    		by Dyrk.org
			2018 - 2019
    
"""
username = ""
password = ""
api_srv  = "https://matrix.org"
since 	 = ""
logs  	 = ""
old_news = ""

contents = json.loads(urllib2.urlopen(api_srv+"/_matrix/client/r0/login").read())
login_type = contents['flows'][0]['type']
connexion_data = json.loads(requests.post(api_srv+"/_matrix/client/r0/login",json={"type":login_type,"user":username,"password":password}).text)

while  1 == 1 :
	headers = {"Access-Control-Request-Headers":"authorization","Authorization":"Bearer "+connexion_data['access_token']}
	events = json.loads(requests.get(api_srv+"/_matrix/client/r0/sync?filter=0&timeout=30000"+since,headers=headers).text)
	since = "&since="+events['next_batch']
	events['next_batch'] = '';
	if not 'rooms' in events :
		continue
	events = events['rooms']
	news   = json.dumps(events)
	time.sleep(5);
	if old_news != news :
		print news
		old_news = news

 

Conclusion

J'espère au travers de cet article, vous avoir permis de découvrir "matrix.org", mais de vous avoir aussi permis de comprendre que parfois il faut savoir fixer dès le début dans une équipe des règles contraignantes pour le bien de tous.

Je vous souhaite à tous une bonne journée ;)

 

 

Partagez ce contenu

4 comments

  • Salut stp pourrais tu me dire comment tu entoures tes images au début de tes articles stp ?

  • Très bonne idée ce hackerspace . Étant nantais je serais assez curieux de voir ce que cela va donner ! Bonne continuation et merci encore pour ce site ;)

  • idem pour le hackerspace à Nantes. ça attise ma curiosité. Et encore un fois, bon boulot pour le site. Bonne continuation.

  • Bonjour,

    Je suis également de nantes et à la recherche d’un hackerspace. Malheureusement j’ai vite découvert qu’il n’en existait pas sur Nantes.

    Je suis donc effectivement également très curieux de ce que ça va donner et espère que le projet aboutira !

    Bon courage

Répondre à Cocoatchoum Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *