[ Préc. ] Index [ Suivant ]

2024 01 30 : garage (3) : sous le capot

Créée le mardi 30 janvier 2024
index



Dans un billet précédent, j'ai testé le principe d'utilisation de l'infrastructure Garage fournie par l'association deuxfleurs. J'ai voulu commencer par là, car je trouve que c'est en répondant à un besoin effectif réel qu'on peut rapidement juger les choses. Il y a tant de solutions techniques actuelles qui créent de la complexité inutile pour les besoins simples, que tester en situation concrète est encore ce qu'il y a de mieux.


Premier bilan


La première chose à dire c'est que ce premier test de Garage chez deuxfleurs est une très bonne surprise. C'est effectivement simple et une fois son compte créé chez deuxfleurs, on peut créer / mettre en ligne un site web statique en quelques minutes (sous réserve que le site soit prêt). Et même si on a rien de prêt, c'est effectivement faisable en quelques minutes avec l'éditeur Zim par exemple. Voir : 2024 01 24 faire blog moins 2


La fluidité de transfert des fichiers en FTP et du site est vraiment bonne.


Envie d'en savoir plus


Du coup, une fois validé cette première approche, il est intéressant de reprendre plus en détail ce qu'est Garage.


A la base c'est un outil qui réimplémente le protocole utilisé par les serveurs AWS pour la gestion des fichiers. En fait, cela ne veut pas dire que l'on utilise les ressources d'Amazon. Cela correspond juste à un protocole de gestion de fichiers qui permet une abstraction vis à vis du système d'exploitation de la machine hôte. Enfin si j'ai bien suivi.


Pour comprendre le concept de Bucket (seau), l'objet de stockage fondamental de Garage, cette petite vidéo d'Amazon est paradoxalement bien faite (je ne mets pas en avant Amazon, mais Garage qui fait la même chose en gratuit, libre et sous contrôle communautaire) :



Introduction to Amazon Simple Storage Service (S3) - Cloud Storage on AWS
http://iteroni.com/watch?v=77lMCiiMilo


En fait, Garage va permettre de faire ce que permet le Bucket S3 d'Amazon, mais c'est plus simple à créer et configurer pour un site avec Garage chez DeuxFleurs que chez Amazon, puisqu'on le fait en 1 clic quasiment !


Une petite vidéo qui explique Garage plus en détails ici :


Sinon, on trouve la doc complète ici : https://garagehq.deuxfleurs.fr/documentation/quick-start/
C'est plus "admin side", mais on a plein d'infos utiles.


Notes


Dans ce premier contact avec Garage, j'ai utilisé SFTP comme on l'aurait fait pour un site en mutualisé. Mais ceci passe par un "bridge" qui s'appelle Bagage. Voir : https://git.deuxfleurs.fr/Deuxfleurs/bagage/src/branch/main/


La façon native de travailler de Garage c'est l'utilisation du protocole AWS S3 ce qui peut se faire en ligne de commande.


Il est également possible d'utiliser une interface graphique. Mais la configuration est vraiment beaucoup plus compliquée.


Voir : https://guide.deuxfleurs.fr/prise_en_main/publier-le-contenu/


Noter que certains outils permettent l'interfaçage direct avec AWS S3, notamment la solution de blog publii. https://getpublii.com/


Article Deuxfleurs paru dans la revue 2014 de la SIF


Sélection de passages de l'article Deuxfleurs sur Garage paru dans la revue 1024 de la SIF : https://www.societe-informatique-de-france.fr/wp-content/uploads/2023/11/1024_22_2023_171.html


Cet article est très intéressant et est en 2 parties clairement distinctes :

Ces deux parties sont particulièrement pertinentes, chacune dans le domaine : la première fixe le cadre, la seconde explore la faisabilité d'une réponse en cohérence avec le cadre éthique sous-jacent et montre la faisabilité. Cet article montre l'alliance qui est nécessaire si on ne veut pas se raconter d'histoires : il faut simultanément une lucidité intellectuelle, réflexive de portée générale et une capacité technique de haut niveau pour pouvoir mettre en oeuvre ce que l'on aura estimé être juste. C'est la même logique que dans le logiciel libre, à savoir une éthique qui précède une mise en oeuvre technique, ou pour mieux dire, une éthique comme "embedded", embarquée dans l'outil technique.


Citations intéressantes :


(...)


par la création d’une communauté libre, souveraine sur son infrastructure numérique, décidant collectivement de son usage ;
par la co-construction et le partage de nos outils ;
par la remise en question de nos rapports au monde et aux autres.


(...)


En entreprise, le diktat de l’actionnariat contre l’activité économique réelle. En recherche, publish or perish, ou comment se tuer à la tâche


(...)


"Radicalité, pas au sens d’« extrême », mais bien de « racine » : dans l’idée d’adresser les causes, et non seulement de limiter les conséquences des externalités néfastes du numérique"


(...)


Parmi les causes de ces externalités, citons l’axiome de la croissance capitaliste
(qui conduit à l’extraction/production/consommation coûte que coûte) et le mythe
techno-solutionniste (qui fatalise le « progrès », invisibilise le choix que nous faisons
de le perpétuer). De ceux-là découle l’idéologie productiviste (accélérer la cadence à
mesure que la situation empire), qui enfante l’épuisement lié au travail. Conséquem-
ment, nous manquons de temps de cerveau disponible pour nous cultiver, nous réunir,
repenser notre condition. La consommation devient notre seul plaisir. En sous-texte
enfin, le désastre environnemental. Il ne s’agit là ni de simples croyances ni de partis
pris, mais bien des faits documentés par les sciences humaines : économie, socio-
logie, histoire, psychologie... Il nous appartient de redonner aux dites sciences leur
rôle de baromètre et de guide — qui n’affranchira jamais les sociétés humaines de la
nécessité de la réflexion et du choix.


(....)


Il est de notre responsabilité d’informaticiens d’identifier, d’éviter de reproduire, et de combattre ces mauvaises pratiques.


(....)


Toute critique constructive sera reçue avec joie, et suivie d’une discussion sans doute fascinante pour tout le monde


(...)


services les plus « émancipateurs » possibles — ce qui fait tout l’intérêt d’Internet à nos yeux


(...)


l’hébergement de nos serveurs à la maison en auto-hébergement


En premier chef la persistance des fournisseurs
d’accès à Internet (FAIs) à vendre des abonnements dégradés, destinés avant tout à la
consommation de contenu et non à des pratiques telles que l’hébergement de services
— relevant pourtant des principes fondateurs de l’Internet, qui voulaient que tous les
postes soient égaux dans leur capacité à recevoir ou à servir des données.


Mais ne condamnons pas le fait-maison à l’incompétence.


C’est donc à la fois pour rendre désirable notre vision d’Internet, mais aussi pour
ne pas nous épuiser à la tâche, qu’il est nécessaire de maximiser la résilience de
notre infrastructure.


(...)


TeDomum a défini les contours d’une nouvelle discipline que nous adoptons : l’entr’hébergement


(...)


discussion GluterFS


(...)
Garage
nous avons abandonné l’abstraction Système de fichiers au profit du Stockage objet : abstraction élémentaire de stockage clé/valeur, où les clés sont des noms de fichiers arbitraires (sans hiérarchie), et les valeurs des fichiers immutables, qui ne peuvent qu’être remplacés entièrement et de manière atomique.


Exemple : le S3 d'Amazon (dès 2006)
suivi explication technique


L’API de S3 étant devenue un standard de facto du fait de la popularité du service, de nombreuses solutions de stockage supportent cette interface


(...)


Discussion technique des principes consensus / coordination faible


Cette distinction théorique entre consensus et coordination faible a pour conséquence pratique que les systèmes à coordination faible peuvent être implémentés de manière bien plus efficace : moins de synchronisation, donc moins d’échanges réseau au sein de la grappe par opération, donc moins de latence.


...


À l’inverse, les systèmes à coordination faible n’ont pas ce point de centralisation du leader, les nœuds pouvant simplement s’échanger les opérations directement entre eux sans se soucier de l’ordre dans lequel celles-ci sont reçues et traitées aux différents nœuds.


(...)
Garage


pas d’algorithme de consensus dans Garage


nous exploitons au mieux les largesses permises par l’API S3, où la seule garantie nécessaire est de lire ce qui a été dernièrement écrit


Il nous a donc semblé que S3 était le candidat idéal pour une implémentation en coordination faible, et que celle-ci serait parfaitement adaptée à notre scénario d’entr’hébergement réparti géographiquement sur des machines
de faible puissance.


(...)


Garage :


explorer la possibilité de stocker des boîtes mail dans Garage


(...)


Nous qui enjoignions tout à l’heure à se distancier de la technique, voilà que nous
avons présenté en long, en large et en travers un outil de notre cru. Ingénieurs irré-
cupérables, alors ? Pas si sûr. Car c’est en voulant construire les services numériques
du futur des personnes, que l’on en vient à réaliser l’absence d’outils appropriés.
Ce futur que l’on imagine, il est issu de nos observations, réflexions et lectures, de
l’Histoire, de nos espoirs. Les contraintes que l’on pose à notre activité numérique
sont humaines, pas techniques : c’est à titre personnel que nous honnissons l’achat
de matériel neuf. Puisque l’incessant ballet construction/destruction du matériel de
pointe est la voie la plus certaine pour vider nos mines de leur dernier filon de cuivre
et faire de l’informatique une idée du passé, y compris dans sa dimension émanci-
patrice. Alors des outils, nous en proposerons peut-être d’autres ! Car nous aimons
les espaces de libre expression et d’accès aux savoirs, qui sont comme chacun sait
un préalable à la démocratie. Si vous ne voyez pas là une utopie déjà déchue, alors
nous vous donnons rendez-vous dans ces cabanes expérimentales des communs qui
foisonnent sur Internet — et que nous investissons, occupons, et faisons vivre fort
joyeusement chaque jour.