pres zenika: ajout des sources des slides en markdown

This commit is contained in:
Armaël Guéneau 2025-03-26 13:22:16 +01:00
parent 14f10a05dd
commit e84ac7e38e

703
2025-02-11-zenika/slides.md Normal file
View file

@ -0,0 +1,703 @@
<style>
:root {
--accent: #ea596e;
}
* {
font-family: monospace;
font-size: .9em;
line-height: 1.4 !important;
}
pre {
overflow: hidden;
}
header {
display: flex;
align-items: center;
justify-content: space-evenly;
flex-direction: column;
height: 100%;
}
blockquote {
background-color: #202020 !important;
}
h1 {
font-size: 2em !important;
}
p {
padding-top: 1em;
padding-bottom: .4em;
}
li {
padding-top: .4em;
padding-bottom: .2em;
}
h1, h2, h3, h4, h5, h6 {
border-bottom-style: none !important;
font-weight: 100 !important;
}
h1::after {
display: block;
content: '💮💮';
margin: 3rem;
}
.precision {
font-style: italic;
font-size: 0.8em !important;
}
</style>
<center>
<span style="font-size: 1.4em">Deuxfleurs : l'hébergeur numérique sobre, convivial, et militant</span><br><br>
<div id="title-figs">
<media-tag src="https://pad.deuxfleurs.fr/blob/78/783fa952f5dcad385b52257f7f3ae8a02565069351f47b5c" data-crypto-key="cryptpad:wGZWoUeg1fAMAkBFUteFcdKtuRE2vdzNSuSxRna3mpE="></media-tag>
</div>
Par Marion, Aeddis, Adrien & Max<br>
<span class="precision">11/02/25</span>
</center>
---
<header>
# Qui est Deuxfleurs
Et pourquoi on héberge pas comme tout le monde
</header>
<!-----
## Deuxfleurs
```
.-.
.( ; ;
.-. (_.():')
_( ' ; /(' ; .)
( `(·)` ; ``-'
',_' `·,'
`-`\| +---------------------+
. /) | B i e n v e n u e |
(\|/ +---------------------+
| | |
.,.,\/,}\|//,,, ;/,,\/ | , \,,,;/. ;.;, |,,,,;,;..
```
<center>Fabriquons un internet convivial</center>
-->
---
<!---
<div style="width:50%; font-size: 50%"><pre><code>
!¨¨¨¨¨¨¨!¨¨¨¨¨¨¨! !¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨!
| O O | \('')\| | | • ~~~~~|
| \"""/ | (__) | | mails | • ~~~~~|
|-------|-------| | |o ——————|
| | """" | | |o ——————|
| visio | / - -\| | [] [] |o ——————|
! | \ ~/! ! | !
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
</code></pre></div>
-->
## Un hébergeur de services numériques
<center><a href="https://deuxfleurs.fr">https://deuxfleurs.fr</a></center>
<span style="text-decoration-line: underline;">Communication</span>
<div>
<ul style="display: flex">
<li style="flex: auto">Discussion instantanée</li>
<li style="flex: auto">E-mails & Agenda</li>
<li style="flex: auto">Visio 🔓</li>
</ul>
</div>
<span style="text-decoration-line: underline;">Édition collaborative</span>
<div>
<ul style="display: flex">
<li style="flex: auto">Bureautique 🔓</li>
<li style="flex: auto">Forge logicielle 🔓</li>
</ul>
</div>
<span style="text-decoration-line: underline;">Publication</span>
<div>
<ul style="display: flex">
<li style="flex: 1"><b>Sites web statiques</b></li>
<li style="flex: auto">Blogs</li>
</ul>
</div>
---
## Membre du collectif CHATONS
<center style="margin-bottom: 1em"><a href="https://chatons.org">https://chatons.org</a></center>
<media-tag src="https://pad.deuxfleurs.fr/blob/c7/c7370cb9be59781549468227bc7b56187bcc6d7dc872dca9" data-crypto-key="cryptpad:SA33Fv2YDz52VjWa2tLCnkmNKAw/C6jN6WQ6zaFXzo0="></media-tag>
<center><b>C</b>ollectif des <b>H</b>ébergeurs <b>A</b>lternatifs <b>T</b>ransparents <b>O</b>uverts <b>N</b>eutres & <b>S</b>olidaires</center>
---
## Nos valeurs
#### *Fabriquons un Internet convivial*
<div style="display: flex">
<div style="flex: 2">
* Convivialité
* Démocratie
* Appropriation de la technique
</div>
<div style="flex: 1">
* Sobriété
* Vie privée
* Qualité de service
</div>
</div>
---
## Seconde main, connexions domestiques
<div style="display: flex">
<div style="flex: 0.91">
<media-tag src="https://pad.deuxfleurs.fr/blob/28/28f75bae30848ff861ede75007d2b6c2fce3a691f2c1ea07" data-crypto-key="cryptpad:rkDkQC816S2NOD00dECcilysELxtJdGthl9hBudWXx0="></media-tag>
</div>
<div style="flex: 0.1"></div>
<div style="flex: 1">
<media-tag src="https://pad.deuxfleurs.fr/blob/f4/f485b5c1755ea226e6f0b6c9b7b5ae01a5c7e1414f378f51" data-crypto-key="cryptpad:IZcqTFZ2tfPTPZgJhFjZSntNYrcmwYCxuETclQUXwgE="></media-tag>
</div>
</div>
<!--
Et système de air-cooling haute performance par voie de cagette et aspi 1 fois pas semaine
Et réseau de chaleur au plus près des logements
-->
---
## Infrastructure distribuée
<!--
- Nantes
- Bruxelles
- Lille
- Rennes
-->
<media-tag src="https://pad.deuxfleurs.fr/blob/0b/0bca9d7917de84bcceaf93848bc2d618597f9f7848b7ebef" data-crypto-key="cryptpad:bVb7NhhLNy6BVfNz9NYehHclMbW7pPJ9zbtVIaM+e9A="></media-tag>
---
## Efficience & Résilience
#### *Ne pas condamner la sobriété à l'amateurisme*
* 420 sites web hébergé (pour l'instant !)
* 3% de notre capacité
* Disponibilité > 97%
<!-- service atteinte, déconnexions de sites de production sans incidences sur les usagères-->
---
## Le résultat
#### *Qualité de service professionnelle*
<media-tag src="https://pad.deuxfleurs.fr/blob/d9/d98a5c35c8e55c3788552ba55f0398ded4cec0de32c1f83a" data-crypto-key="cryptpad:5lMS3LujBmQil0V+O9orGsqgArwZ48Fdjb0u3geZJrw="></media-tag>
<center>
<span class="precision"><a href="https://noesya.coop">https://noesya.coop</a></span>
</center>
---
<header>
# Comment on fait
La sobriété, c'est technique
</header>
---
## Objectif
#### Entr'hébergement de services web
<media-tag src="https://pad.deuxfleurs.fr/blob/0b/0bca9d7917de84bcceaf93848bc2d618597f9f7848b7ebef" data-crypto-key="cryptpad:bVb7NhhLNy6BVfNz9NYehHclMbW7pPJ9zbtVIaM+e9A="></media-tag>
<!--<pre><code style="font-size: 50%"> ___||__
/ \
/ [s] \ 🧑‍🦰 ☁️
| [s] | | ☁️
| 🚲️ [s] ⊗ ~ ~ ~ 😊 ___||_
=========== ~ | / / \
BRUXELLES \ ⋅⋅^^⋅⋅⋅⋅^^⋅⋅⋅ / \
~( 🐦️ 🐦️ ) | [s] |
( ) ~ ~ ~ ~ ~ ~ ~ ⊗ [s][s] |
( INTERMOUETTE ) ===========
____ ( 🐦️ ) NANTES
/ \ ~ ~ ~ ( )
/ 🐈️ \ ~ ⋅⋅^^^^^⋅^^^⋅⋅
| [s] | / | \
| [s] ⊗ ~ ~ ~ 🧑‍🦳
======== \
LILLE ~ 🙍
</code></pre>-->
---
## Étape 1
#### Interconnecter de façon reproductible
<media-tag src="https://pad.deuxfleurs.fr/blob/f5/f5d43ffd22d6414aacabc439010473ee08bac3d61662df89" data-crypto-key="cryptpad:nu+RmRLbXIe3N0zc1Uj5Janz31E6S2aiDXUTACR3h6w="></media-tag>
---
## Étape 2
#### Ordonnancer des services
<media-tag src="https://pad.deuxfleurs.fr/blob/57/574cedcc52c74a22237aff4773088f028fc53c5a9bd2d2b4" data-crypto-key="cryptpad:hU/+hvrIIoLE7bgBdBgyF9Bsu1v/V5sM4h554n/Jafc="></media-tag>
<div style="display: flex">
<div class="flex: 1">
Consul vérifie l'état des services,<br>
et stocke leur état <i>de façon répartie</i>.
</div>
<div style="flex: 1"></div>
<div class="flex: 1">
Nomad ordonnance.
</div>
</div>
---
## Étape 2
#### Il reste quelques bricoles : reconfiguration DNS & NAT
Consul nous informe à chaque changement d'état, alors...
- Mise à jour auto. du DNS\
https://git.deuxfleurs.fr/Deuxfleurs/d53
- Reconfiguration auto. du NAT\
https://git.deuxfleurs.fr/Deuxfleurs/diplonat
---
## Étape 3
#### Outiller les services
<div style="display: flex; margin-top: 2em;">
<div style="flex: 1">
**Gérer l'état des services**
- Bases de données
- Gestion des objets\
(media, fichiers...)
</div>
<!--<div style="flex: 0.1"></div>-->
<div style="flex: 1; padding-left: 2em; border-left: 1px solid white;">
**Et encore quelques bricoles**
- Gestion des comptes, SSO
- Routage HTTP
</div>
</div>
---
## Étape 3.1
#### Gérer l'état des services
<media-tag src="https://pad.deuxfleurs.fr/blob/ee/eeb7f5ff586801d1bc1376dc7a53d61910db904470e1cf73" data-crypto-key="cryptpad:EFUfCKB49shVb7DlHz1pnQAvu/wyG5xyD2f/zOOle4I="></media-tag>
<center><span class="precision">Le bon temps de l'auto-hébergement : zéro disponibilité</span></center>
---
## Étape 3.1
#### Gérer l'état des services
<media-tag src="https://pad.deuxfleurs.fr/blob/76/769d7cf9299e47aaaa425851edaefa4498146516354e06f9" data-crypto-key="cryptpad:1nfIDsdgF06M2InSGgSx3qXEu+yV4EYiP4vYx7SZtnU="></media-tag>
<center><span class="precision">Hélas, les systèmes de fichiers répartis ne tolèrent pas la latence</span></center>
---
## Étape 3.1
#### Gérer l'état des services
<media-tag src="https://pad.deuxfleurs.fr/blob/7f/7f6a1325afb1dc3580c72fc59ef2f559564b367c84324ff8" data-crypto-key="cryptpad:uINT3etuwDCFNRlDK/7odNni4obLLP/gJOaqpSYapmY="></media-tag>
<center><span class="precision">Pas de consensus, pas de problème</span></center>
---
## Garage
#### Le stockage objet pour les masses
<media-tag src="https://pad.deuxfleurs.fr/blob/cb/cb6f8142965b9cca0815a1ef07567f154b3ab48b69f8c632" data-crypto-key="cryptpad:OTbacoiAXNIuLrEVgT534UzfqC0cCCJ4ujJuaFZjO5o="></media-tag>
<center><span class="precision">Vous pouvez perdre un site géographique sans interruption de service</span></center>
---
## Garage
#### Un logiciel libre et non marchand
#### https://garagehq.deuxfleurs.fr/
<media-tag src="https://pad.deuxfleurs.fr/blob/0b/0b32babd5ab00c41366062a65709ba81909086c94a7dca03" data-crypto-key="cryptpad:2vt10ZQfs70yM6lZDcf0f2uweJMJPoACxeKlMr+lVYE="></media-tag>
---
## Garage
#### Au passage : le but ultime
<media-tag src="https://pad.deuxfleurs.fr/blob/1f/1f9f3e5f45a5918ff9af416b2c23acdb0f0b93b25e166059" data-crypto-key="cryptpad:MeEX2VDUP6LWIjjbA+IcraTCVNO2ZndWLmHnbplOVss="></media-tag>
---
## Étape 3.2
#### Les dernières bricoles : gestion des comptes
Il est dur de trouver chaussure à son pied, alors...
- Back-end LDAP :\
https://git.deuxfleurs.fr/Deuxfleurs/bottin
- Front-end gestion de compte :\
https://git.deuxfleurs.fr/Deuxfleurs/guichet
On utilise Consul comme "base de données" (KV-store).
---
## Proxy HTTP : Tricot
#### ... et le routage HTTP (_reverse proxy_)
Les informations (service ↔️ localisation) sont dans Consul
Traefik v2 savait y pêcher la config ! Pas Traefik v3...
Donc bah...\
https://git.deuxfleurs.fr/Deuxfleurs/tricot \
(en Rust, avec Hyper)
---
## Proxy HTTP : Tricot
#### Les petits plus...
Tricot gère :
<ul>
<li>génération de certificat Let's Encrypt à la volée</li>
<li>routage des requêtes au plus près<br>
<ul style="margin-left:3em;">
<li>node</li>
<li>site local</li>
<li>site distant</li>
</ul>
</li>
</ul>
---
## Proxy HTTP : Tricot
<media-tag src="https://pad.deuxfleurs.fr/blob/47/476c22ac2326082c4fa662d785ec3c45313c54348e98b366" data-crypto-key="cryptpad:LAl7qp/Ue/R6DeUm4+cbWHVCYSydEWGjgT38OV+cL9I="></media-tag>
---
## En résumé
<ul>
<li>Infrastructure pas chère</li>
<ul style="margin-left:3em;">
<li>À l'achat</li>
<li>À maintenir</li>
</ul>
</li>
<li>Haute technicité</li>
<ul style="margin-left:3em;">
<li>Formation des opérateurices</li>
</ul>
<li>Qualité de service</li>
<ul style="margin-left:3em;">
<li>Résilience aux pannes</li>
<li>Suivi humain</li>
</ul>
</ul>
---
## Les limites
#### Logiciels non décentralisables
- Git, Cryptpad, e-mail
- Il faut remonter le service à partir des backups (sur garage) quand un site tombe
- On développe Aerogramme pour les mails (serveur IMAP sur garage)\
https://aerogramme.deuxfleurs.fr/
<media-tag style="min-width: 100%; min-height: 100%;" src="https://pad.deuxfleurs.fr/blob/8d/8db6c5c455fb132aba244715dce94c9422d320a95bf43dfe" data-crypto-key="cryptpad:gtqsEk+rVZ3x1uiBLnaneinZP0igYyL8HhNj1BwjQ6w="></media-tag>
---
## Les limites
#### Points de centralisation humains
<div style="display: flex">
<div style="flex: 1">
<media-tag src="https://pad.deuxfleurs.fr/blob/ef/eff98df2f7896f21cf88e2d5271672587619a2395e9a2d50" data-crypto-key="cryptpad:pPVtpSMVjBu897vKgthD4kKJ1z5R+UJ2L7p5Ayx2BKU="></media-tag>
</div>
<div style="flex: 0.1"></div>
<div style="flex: 1">
- Terreau des conflits
- Débusquer les hiérarchies informelles
- Tout le monde doit pouvoir être rendu obsolète
</div>
</div>
---
<header>
# En quoi c'est intéressant
pour des professionnel⋅les de l'informatique
</header>
---
## Responsabilité
- En tant que citoyen⋅nes
*Assurer une direction juste à la société*
- En tant que technicien⋅nes
*De grands pouvoirs impliquent de grandes responsabilités*
---
<media-tag src="https://pad.deuxfleurs.fr/blob/86/86971ac1a5a51bedef43057a4c15e7b15548e180b21bddc9" data-crypto-key="cryptpad:pIBpNP7lBWgsk1Qu4Md25uOBFRGXXgy8sHHT8k7D7+E="></media-tag>
---
## Ce qu'on dit...
<media-tag src="https://pad.deuxfleurs.fr/blob/23/2342cd15ac9f9274886a565796a6058d484624b6d992ac09" data-crypto-key="cryptpad:7AbDKthKyqM5N6svpv2WLaLPLfPoY7wKybvfLB32i6g="></media-tag>
---
## ... et ce qu'il y a derrière
<media-tag src="https://pad.deuxfleurs.fr/blob/23/236a45a21a151c4f38c526bf1bd01007785c15798300f136" data-crypto-key="cryptpad:fp1vHOE5qj5mIRYtCY2MCPa4XuyVMFcsxS6QS1fklxE="></media-tag>
---
## Production
<media-tag src="https://pad.deuxfleurs.fr/blob/11/116befcc7ef80567b956f58de3ce4efb641120853221b0be" data-crypto-key="cryptpad:gK5h8oyG7VnhzpYN2lpFcacF7xVXNyKz1MIO2yTe/cg="></media-tag>
---
## "Recyclage"
<media-tag src="https://pad.deuxfleurs.fr/blob/1a/1a5bef4eaac110cc95590c5871503c840fd1659bd58738c3" data-crypto-key="cryptpad:p84oo+bYXizTaqEfcZSi8AoCAKPhAJe3RlraDDAr0bI="></media-tag>
---
## Impacts territoriaux des datacenters
<div style="display: flex">
<div style="flex: 1">
<media-tag src="https://pad.deuxfleurs.fr/blob/df/df84d801fd4b21b085fc6371deb6d23f4018760e1dc4988c" data-crypto-key="cryptpad:jxm4RKOF/bCOPd2pctsyjlyCTMTejeVhqaVg1Ph6ML0="></media-tag>
</div>
<div style="flex: 1">
<media-tag src="https://pad.deuxfleurs.fr/blob/8d/8d7b5c0abc31a7c83502e4e0e7dfbb1f5f7965c1510909f1" data-crypto-key="cryptpad:CoFnGzaj47Yok4tj10DrJrBrGEViWpP5gLUarHPbZ1A="></media-tag>
</div>
</div>
---
## Reprendre la main sur nos données
<!-- Souveraineté --><!-- titre 4, center things the cheap way -->
<!--<div style="display: flex;margin-bottom: 6ex">
<div style="flex: 2">
<!-- Protection vie privée -->
<media-tag src="https://pad.deuxfleurs.fr/blob/be/be66327d9283627140bb3b7e417df188ded56a94415c8aa5" data-crypto-key="cryptpad:pAU15wgGfWzRQtJaLuDNqxSJCuEFTkmYk5GuyPmPJgQ="></media-tag>
<!-- </div>
<div style="flex: 2; padding-left:1em;">
<!-- Résilience
<media-tag src="https://pad.deuxfleurs.fr/blob/61/61e1f8d260f9887d4c236284f92d32130274b8fc050939fc" data-crypto-key="cryptpad:40U+tOlNKCoie261t4turVfGEgmEIZt1r/vZAQz9oq4="></media-tag>-->
</div>
</div>
<!-- #### "We don't give a fuck about Europe." — D. Trump -->
---
## Optimisation et résilience
#### Capacité des petits poissons à faire des choses ambitieuses
<div style="display: flex">
<div style="width:30%">
<media-tag src="https://pad.deuxfleurs.fr/blob/2f/2f96ebe3d13187ab994a6a634065aa828a6a48bab74eb52f" data-crypto-key="cryptpad:GhegXBkRVzW6ahNtjZrNJJkkxGS2Dip5XFbsAHSzwig="></media-tag>
</div>
<div style="width:30%">
<center>vs
</center>
</div>
<div style="width:25%">
<media-tag src="https://pad.deuxfleurs.fr/blob/20/202b5f77aa87f417f013cd1697bd6e5d1fb3c01359b100ef" data-crypto-key="cryptpad:37N2iz1GXBhTBzPn0m91uhhkShPlhXp2CavCb84GlQM="></media-tag>
</div>
</div>
<!-- Surcomplexification, on repose sur des trucs pas solides -->
---
<media-tag src="https://pad.deuxfleurs.fr/blob/00/00c3c5eae61b796911951d62534c3c1ab860c2cbff7e4652" data-crypto-key="cryptpad:PPH0mKnx9Ry3UEXV9L8V6lYOicjK8QbRjGaADRipm+0="></media-tag>
<!-- Ce que ça montre : 1) complexité de la stack, 2) point de centralisation, dépendance à un tiers -->
---
---
## Le coût des solutions généralistes
#### Une stack aussi complexe a un coût opérationel fort
- Temps
- Humain
- Matériel
- Pécunier
---
## Le coût des solutions généralistes
#### Et si la licence change ?
<media-tag src="https://pad.deuxfleurs.fr/blob/1f/1f9d273c706c57abd6f546c10a6bb21a8403032b9aca16af" data-crypto-key="cryptpad:uhRAC+dv3do4sd+FKxP3A/jWh7URJtzgUNbxnrKSrzA="></media-tag>
---
## Investir dans une solution adaptée
* Juste la bonne taille
* Maîtriser le logiciel ➡️ diminution des coûts opérationnels
* Résilience aux revirement des tiers
(Hashicorp, Traefik, Postman...)
<!-- Je propose de remettre le dernier point ici - Marion -->
--> Un investissement qui permet l'indépendance
---
<media-tag src="https://pad.deuxfleurs.fr/blob/99/99eab7e162323e85c4f5a3ea3348779b1edf77317cc5d605" data-crypto-key="cryptpad:e/metHbqFfmiGmVRbTsGLyY1Hf3sLamTX85X2gAUUGw="></media-tag>
---
<header>
# Les slides _cachées_
Pour le cas z'où
</header>
---
## Alimentation
<media-tag src="https://pad.deuxfleurs.fr/blob/ad/ad9ebda135997e5e09b901f67e68b71ab255c908bdb73e85" data-crypto-key="cryptpad:DXmVhHQQiq1seRhE4O9niqi88w58Dm+ME9je+eySiKU="></media-tag>