La toile

Fork, le serpent qui se mord la queue

Le monde du logiciel libre est vaste et c'est sans doute la force mais aussi le point faible de ce milieu. Quand j'ai un besoin d'une fonctionnalité, je prend le temps de faire le tour des solutions logiciels qui la comblent. Celle qui me conviendra le plus sera bien sur la solution retenue. Pour rentrer plus rapidement dans le sujet, j'ai envie de taper un peu sur une mode qui s'étend trop rapidement : le fork.

Le fork consiste à récupérer les sources d'un projet et de faire son propre projet avec (modulo des modifs). Dans l'absolu c'est génial et c'est l'essence même du logiciel libre : prendre, modifier et éventuellement publier. Je trouve ça parfait quand il s'agit de hacker pour un besoin précis. Je trouve ça aussi génial quand l'objectif et de vraiment modifier le système et de partir dans une autre optique que le projet initial. Seulement je trouve ça débile de forker un projet quand l'effort de développement pourrait être mutualisé. Quel est l'intérêt d'avoir deux équipes de dev qui font presque la même chose, l'une se reposant sur l'autre, sans une résultante commune des travaux ? Quand je vois des projets comme CrunchBang (un fork de Debian) qui ne fourni qu'une simple configuration d'OpenBox, ça me fait mal aux fesses : pourquoi ne pas faire un package qui pourrait s'étendre à d'autres distributions ? Comptez le nombre impressionnant de distributions Linux qui sont des forks d'Ubuntu et qui ne servent à rien, vous allez prendre peur (XUbuntu, Xubuntu, FluxBuntu, PureOS, etc.).

C'est vraiment lassant de voir arriver des forks alors que leurs développeurs pourraient simplement contribuer vers l'UpStream...

« Fork » n'est pas synonyme de « contribution » !


Projet : du P2P dans une page web

J'ai beaucoup de convictions pour Internet. je considère la centralisation sur "Internet" comme uné énormité est un mauvais retour dans le lointain passé du 3515. Globalement, ce n'est pas mes machines à la maison et ma grande gueule qui va changer le monde. Comment faire avancer un peu plus le Schmilblick alors ?!

Depuis le début de la semaine je suis sur un projet qui vise à décentraliser le contenu d'un site internet. Dit comme ça, on s'imagine le mec qui va poser ces fichiers sur 50 serveurs HTTP différents et qui sera content de lui...bah vous n'avez presque pas tout à fait tort ! Ce que j'aimerais faire est simple à comprendre : à la place d'héberger un contenu potentiellement lourd sur mon serveur, je vais le proposer en torrent. Seulement, je ne veux pas un bête lien que l'utilisateur va ouvrir manuellement avec son client P2P favori. L'objectif est de coller une couche javascript dans la page qui va contacter le fameux client P2P et une fois le téléchargement terminé, affichera le contenu dans la page.

Voila un contenu HTML type avant :

<video src="torrent://tracker.du.torrent.com/fichier.ogv.torrent"></video>

...et après :

<video src="file:///chemin/vers/fichier.ogv"></video>

J'ai imaginé plusieurs méthodes et pour commencer (et prouver que ça peut fonctionner), je vais utiliser un daemon coté client (en plus du navigateur). Les websockets html5 auront la charge de communiquer avec celui-ci.

Diagramme de séquence projet torrent

Je souhaite avoir un rendu fonctionnel et pouvoir utiliser des torrents dans une page (même si ce n'est pas pratique et rapide). Si une solution similaire est suivie et améliorer avec des gens 100 fois plus skillés que moi, alors monsieur Toutlemonde pourrait faire son Youtube dans sa grotte...euh garage...non : maison !


Un nouveau serveur (encore)

Haruhi

Je l'expliquais dans l'article juste en dessous, j'attendais une nouvelle machine pour redonder Hinata (le serveur de deblan). Elle est arrivée et son installation s'est bien passée. Bienvenue à Haruhi !

J'ai essuyé quelques questions ces derniers jours. Des gens se demandent quel est l'intérêt de s'embêter à avec des serveurs à la maison, d'autres se demandent si le coût n'est pas un vrai problème.

J'ai déjà fais un article à ce sujet et je l'explique assez souvent oralement. Cependant, il me paraît essentiel de ré-expliquer encore mes choix.

La base d'Internet est l'interconnexion de réseaux. L'objectif de cette toile est de rendre impossible son démantèlement : si on rompt une partie du réseau, l'autre partie va continuer à fonctionner. Quand on fait de l'Internet, on est censé supprimer le plus possible la notion de centralisation. L'intelligence est dite en périphérie du réseau, pas au centre comme le minitel. Sur Internet, tout le monde est client et serveur. Concrètement, si vous faites du peer to peer, vous faites de l'Internet. À l'inverse, quand vous téléchargiez sur Megaupload, vous faisiez du minitel.

Le premier serveur arrivé chez moi était maintenu par mon frère qui étudiait au département SRC à Montbéliard. Quelques temps plus tard, c'est une machine à moi qui prit le relais. Voila 5 ans que j'ai une machine qui tourne en permanence chez moi. Seulement, c'est compliqué et la solution entreprise par énormément de gens est l'achat ou la location d'espaces chez des professionnels. Pour une poignée d'euros, on va souscrire chez un hébergeur et allons disposer d'un espace de travail en ligne. Dans le monde des Bisounours ça fonctionne bien, on a jamais aucun problème est on dispose d'un service super fiable. Mais dans la vraie vie c'est tout le contraire. Pour avoir eu des comptes mutualités et dédiés, il y a arrive toujours le moment où la panne survient avec potentiellement des pertes d'accès complètes.

Cette solution qui pourrait bien fonctionner admet donc plusieurs problèmes : on est jamais sûr de ce qu'il va arriver et on centralise nos fichiers, nos mails et les autres services chez des gens qui n'en ont rien à foutre de vous. Dans l'absolu, ils peuvent couper l'accès à vos données sans que vous ne puissiez la ramener, ils ont la possibilité de fouiller dedans sans que vous le sachiez et le services de polices pourraient avoir des accès facilités. Et dans l'absolu absolu, ce n'est pas chez vous qu'on ira faire péter une bombe, mais chez eux avec leurs milliers de clients.

Bref, tout ça pour dire deux choses : je veux garder un accès complet à mes données et gérer son accessibilité comme je l'entends. Enfin, je ne suis souhaite pas centraliser ces mêmes données chez des sociétés qui n'ont qu'un seul objectif : se faire du fric. Je veux interconnecter le réseau que j'ai chez moi et contribuer à Internet.

Au delà de l'aspect idéologique qui se trame dans ma démarche, il y a aussi un coté pratique : j'utilise les logiciels que je veux, je configure les services comme j'en ai envie et je ne suis limité que par mes capacités techniques.

Évidement, tout ceci a un coût. Grossièrement, mes machines doivent me prendre 300 euros d'électricité par an et de temps en temps le matériel tombe. Cette année le serveur Hinata a du être totalement changé et j'ai acheter une machine pour le répliquer. Mais il est possible de rendre tout ceci moins coûteux. Il existe des machines pas très gourmandes capables de fonctionner à l'énergie solaire par exemple. Comme a expliqué Benjamin Bayart, placer ses services dans des centres de données n'est pas non plus une réponse.

C'est donc un investissement en argent (même si jusqu'à cette année, je n'ai bossé qu'avec du matériel de récupération) et aussi du temps, pas mal de temps...Mais au delà de ça, quand on va sur mon site, quand on m'envoie un mail, quand on veut me parler sur IRC, ce n'est pas chez un fournisseur avec des machines je ne sais où qui répond, mais c'est chez moi et pas ailleurs !

Cette manière de faire n'empêchera pas de grossir et de prendre du poids sur le web. Avec le réseau IRC monté avec elskwi, on souhaite que le Neutral Network ne soit pas situé à un seul endroit en France, mais partout ! Ça a déjà commencé avec 3 machines qui sont géographiquement très éloignées, sur des réseaux différents. On ne veut pas passer pour des geeks barbus avec des idéos à la con. On veut de redonner vie à ce qui a été créé début des années 90 et de mettre une claque à la tendance actuelle de tout mettre à un seul endroit et de pleurer quand c'est mort. C'est ça Internet, même si certains rigolent en me lisant.

Salle machines


DNSLookup, nouveau service deblan !

Quand vous travaillez dans le web et que vous gérez des noms de domaines, vous vous posez toujours la même question pendant une propagation DNS : où est-ce que ça en est ?

Sur le principe de What's My DNS?, je vous propose un service qui permet de connaître l'enregistrement DNS de votre nom sur quelques serveurs majeurs Français.

DNSLookup est un programme (et un service en ligne) sous licence BSD. Vous pourrez le modifier et l'installer sur votre serveur si vous en avez envie.

Essayez tout de suite DNSLookup :)

DNSLookup


Update: cerise sur le gâteau, DNSLookup supporte à présent les requêtes Whois !


HarmonyHosting : hébergement de VPS

HarmonyHosting est une jeune société avec à sa tête Quentin Machu.

C'est un hébergeur parmis tant d'autres. Il met à disposition des serveurs VPS à des prix très intéressants et avec des machines très stables. À la différence de beaucoup d'associations et d'entreprises de la même envergure, j'ai pu apprécier une transparence avec les clients (dont je fais partie maintenant). Le support est présent et c'est agréable de voir du répondant face aux problèmes que les hébergés peuvent rencontrer.

Pour le moment, on a à notre disposition une Debian classique avec pas grand chose dessus mais également une version qui dispose d'une installation fonctionnelle de Minecraft.

D'autres configs vont arriver avec notamment un serveur web clé en main ainsi que des machines dédiées au versionning (Maven et SVN à priori).

Je vous le conseil car ça vaut vraiment le coup étant la poigné d'euros qu'il demande ^^

HarmonyHosting