Compare commits

...

36 commits

Author SHA1 Message Date
Baptiste Jonglez 02c0245075 Infrastructure staging
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-06-01 15:02:02 +02:00
Baptiste Jonglez 7739712f42 Mise à jour infra production 2024-06-01 14:53:44 +02:00
Baptiste Jonglez 117df9a458 Update supervision
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-05-31 00:05:31 +02:00
Baptiste Jonglez a4b1a8d232 Suite config OpenWrt 2024-05-30 23:49:32 +02:00
Baptiste Jonglez c63e2b81d5 Ajout guide installation site géographique
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-05-30 09:30:44 +02:00
Armaël Guéneau 9889fe1d71 fix typo
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-05-12 18:11:22 +02:00
Armaël Guéneau 9bba3d807a Notes de l'intervention infra du 12 mai 2024
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-05-12 18:07:58 +02:00
Tixie 3069dfa3cb page "Annuaire des services": "Gitea" → "Forgejo"
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Mettre à jour le nom du software de la forge git depuis la migration vers Forgejo (un fork de Gitea)
2024-04-24 20:05:17 +00:00
vincent 62ca7624b5 Ajout d'un attribut pour héberger ses courriels avec nom de domaine personnel
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-04-16 22:36:19 +02:00
Tixie ad522df4fc page CGU: Fix des liens vers la charte CHATONS et la page du guide sur l'infrastructure
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-04-04 12:53:19 +00:00
Tixie 4a45729eb6 page "Nous Rejoindre": Fix d'un lien vers les CGU
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-04-04 12:42:33 +00:00
Vincent 998d13502a MàJ guide email avec adresse personnalisée
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-03-24 23:01:26 +01:00
Armaël Guéneau a3f8a9900a tweak .woodpecker.yaml
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-03-17 15:38:28 +01:00
Armaël Guéneau 0f9c2871da add preprod CI
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2024-03-17 15:35:48 +01:00
Armaël Guéneau b82a8b7f7b page sur le renouvellement des certificats du cluster
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-03-17 15:03:44 +01:00
Armaël Guéneau 55543a14ec woodpecker CI file
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-03-17 11:27:09 +01:00
marion 365f1fdeb6 Update Opérations “pass” 2024-03-16 17:21:49 +00:00
ADRN 321c4586b5 Merge branch 'main' of git.deuxfleurs.fr:Deuxfleurs/guide.deuxfleurs.fr
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-09 11:02:12 +01:00
ADRN 6f4bba5bec ajout de références de générateurs de sites 2024-02-09 10:59:04 +01:00
Armaël Guéneau 76368394c4 correction de typos
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-30 09:02:18 +01:00
Alex f449de9fca reorder pages
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-25 12:29:12 +01:00
Alex ba74e2e8cd doc deploiement hugo 2024-01-25 12:25:26 +01:00
Armael 845068efda Update Infrastructures “logiciels”
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-24 16:25:16 +00:00
ADRN ee4bcb7202 ajout d'un guide pour Guichet : créer/modifier un mot de passe.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-23 11:14:33 +01:00
ADRN ed90fb6c4b minor
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-17 21:02:56 +01:00
ADRN 5cab79bada edit pass page: set your user visibility as public
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-17 19:45:09 +01:00
ADRN 5ebff4c9a4 update pass page flow
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-17 19:33:50 +01:00
ADRN 1b072f69ff nianiania boris depots secrets
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-17 19:11:38 +01:00
ADRN c3eb16ddf4 ajout d'un guide pour synchro son agenda Deuxfleurs sur ordinateur avec Mozilla THunderbird
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-14 18:12:15 +01:00
ADRN de97e716ad nous rejoindre : modes d'adhesion
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-13 17:23:32 +01:00
vincent 33f271aa77 Corrections proposées par Qwel par courriel
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-13 00:39:18 +01:00
vincent 6d6bff6653 Ajout d'un site dans nos références
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-10 17:33:49 +01:00
ADRN 8771927827 minor on 'calendrier partagé'
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-09 21:00:30 +01:00
ADRN 56355f432f mise à jour de la page Infra/Garage avec des liens pas morts et plus jolis... et d'actualité... et en mieux aussi ! Oui oui je vais me coucher...
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-07 20:04:09 +01:00
ADRN 25b27cb088 updated link to CGU in 'nous rejoindre'
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-07 13:00:53 +01:00
vincent 722681da70 Fusion de 'Ajout gcu and co au guide, pour fix footers site' (#30) de boris/guide.deuxfleurs.fr:fix_website_footers vers la branche main
All checks were successful
continuous-integration/drone/push Build is passing
Discutée sur : Deuxfleurs/guide.deuxfleurs.fr#30
2023-12-20 21:50:21 +00:00
41 changed files with 759 additions and 161 deletions

42
.woodpecker.yaml Normal file
View file

@ -0,0 +1,42 @@
steps:
- name: build
image: alpine:3.17.2
commands:
- apk update
- apk add zola
- zola build
- name: upload
when:
branch:
- main
image: plugins/s3
settings:
bucket: guide.deuxfleurs.fr
endpoint: https://garage.deuxfleurs.fr
region: garage
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
source: public/**/*
target: /
strip_prefix: public/
- name: upload
when:
branch:
- preprod
image: plugins/s3
settings:
bucket: preprod-guide
endpoint: https://garage.deuxfleurs.fr
region: garage
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
source: public/**/*
target: /
strip_prefix: public/
path_style: true

View file

@ -4,9 +4,9 @@ sort_by: weight
---
# Découvrir
[Prise en main](@/prise_en_main/_index.md) - Ce manuel vous accompagne dans la découverte de nos outils. C'est par là que vous devriez commencer si vous venez d'arriver, on vous explique comment utiliser nos outils pour reste en contact avec votre famille, organiser une réunion avec votre association ou encore publier une tribune sur le web.
[Prise en main](@/prise_en_main/_index.md) - Ce manuel vous accompagne dans la découverte de nos outils. C'est par là que vous devriez commencer si vous venez d'arriver, on vous explique comment utiliser nos outils pour rester en contact avec votre famille, organiser une réunion avec votre association ou encore publier une tribune sur le web.
[Se former](@/formations/_index.md) - Ce manuel vous propose de vous former sur les questions portées par l'association, que ce soit sur l'impact social du numérique ou l'administration d'une machine Linux, avec dans l'idée que vous pourrez vous impliquer d'avantange dans nos activités après, en faisant des ateliers ou en participant à opérer les machines et les logiciels.
[Se former](@/formations/_index.md) - Ce manuel vous propose de vous former sur les questions portées par l'association, que ce soit sur l'impact social du numérique ou l'administration d'une machine Linux, avec dans l'idée que vous pourrez vous impliquer d'avantage dans nos activités après, en faisant des ateliers ou en participant à opérer les machines et les logiciels.
[Vie associative](@/vie_associative/_index.md) - Ce manuel traite de tout ce qui concerne l'association, comme ses aspects légaux, les délibérations, ou l'organisation des personnes.
@ -18,6 +18,6 @@ sort_by: weight
Afin d'apporter une contribution impactante, il est recommandé de lire [Diátaxis](https://diataxis.fr/), un site web qui théorise la documentation. Pour le style d'écriture, les conseils de [StaticCMS](https://www.staticcms.org/docs/writing-style-guide) sont intéressants.
Pour contribuer à ce guide, le plus simple est d'aggréger les modifications que vous voulez apporter dans un fichier texte ou LibreOffice et de nous l'envoyer par email à coucou (arobase) deuxfleurs.fr. Un membre de l'association reportera alors vos propositions sur le site web.
Pour contribuer à ce guide, le plus simple est d'agréger les modifications que vous voulez apporter dans un fichier texte ou LibreOffice et de nous l'envoyer par email à coucou (arobase) deuxfleurs.fr. Un membre de l'association reportera alors vos propositions sur le site web.
Si vous êtes plus expert·e, vous pouvez demander des accès à [l'interface d'administration](https://guide.deuxfleurs.fr/admin/) pour faire directement vos modifications. Si vous connaissez git, vous pourriez aussi vouloir [forker notre dépôt](https://git.deuxfleurs.fr/Deuxfleurs/guide.deuxfleurs.fr).

View file

@ -7,5 +7,5 @@ extra:
parent: 'formations/_index.md'
---
Ce manuel vous propose de vous former sur les questions portées par l'association, que ce soit sur l'impact social du numérique ou l'administration d'une machine Linux, avec dans l'idée que vous pourrez vous impliquer d'avantange dans nos activités après, en faisant des ateliers ou en participant à opérer les machines et les logiciels.
Ce manuel vous propose de vous former sur les questions portées par l'association, que ce soit sur l'impact social du numérique ou l'administration d'une machine Linux, avec dans l'idée que vous pourrez vous impliquer d'avantage dans nos activités après, en faisant des ateliers ou en participant à opérer les machines et les logiciels.

View file

@ -21,12 +21,3 @@ des attaques de chaine d'approvisionnement (*supply chain attack*).
## Rennes (Jupiter)
(information à rajouter)
## Lyon (Aurora)
![Photo d'illustration du PC portable utilisé](/img/serv_easynotebg46.jpg)
| Désignation | Rôle | Quantité | Détails | Refs |
| -- | -- | -- | -- | -- |
| Packard Bell EasyNote BG46 (2007) | Serveur | x1 | Intel T5750 @ 2.00Ghz (2 cœurs), 3Go RAM, HDD 500Go | `vimaire` |
| Freebox Mini 4k | Routeur | x1 | 4 ports @ 1Gbit/s, WAN Fibre 1 Gbit/s symétrique | N/A |

View file

@ -28,15 +28,15 @@ Il ne cherche pas à :
Si vous voulez en savoir plus sur Garage, vous pouvez consulter notre [documentation](https://garagehq.deuxfleurs.fr/) :
* [Introduction rapide](https://garagehq.deuxfleurs.fr/quick_start/index.html) : apprenez à interagir efficacement avec Garage
* [Travaux liés](https://garagehq.deuxfleurs.fr/design/related_work.html) : pour comprendre pourquoi nous avons développé notre propre logiciel au lieu d'en choisir un existant
* [Technique interne](https://garagehq.deuxfleurs.fr/design/internals.html) : une brève description des modèles de données utilisés dans Garage
* [Introduction rapide](https://garagehq.deuxfleurs.fr/documentation/quick-start/) : apprenez à interagir efficacement avec Garage
* [Travaux liés](https://garagehq.deuxfleurs.fr/documentation/design/related-work/) : pour comprendre pourquoi nous avons développé notre propre logiciel au lieu d'en choisir un existant
* [Technique interne](https://garagehq.deuxfleurs.fr/documentation/design/internals/) : une brève description des modèles de données utilisés dans Garage
Liens externes :
* [Dépôt](https://git.deuxfleurs.fr/Deuxfleurs/garage/) : Garage est un logiciel libre développé sur notre propre instance Gitea
* Article de médiation scientifique (PDF, français) : [Présentation de Deuxfleurs & Garage](https://www.societe-informatique-de-france.fr/wp-content/uploads/2023/11/1024_22_2023_171.html), novembre 2023
* Présentation scientifique (PDF, anglais) : [Deuxfleurs & Garage presentation](https://git.deuxfleurs.fr/Deuxfleurs/garage/raw/branch/main/doc/talks/2023-01-18-tocatta/talk.pdf), janvier 2023
* Présentation militante (vidéo & PDF, français) : [De l'auto-hébergement à l'entre-hébergement : Garage, pour conserver ses données ensemble](@/formations/capitole-du-libre-2022.md), novembre 2022
* [Liste des présentations sur Garage](https://git.deuxfleurs.fr/Deuxfleurs/garage/src/branch/main/doc/talks)
Conférences :
* [(en français, et informel) 2 décembre 2020 : pourquoi nous avons choisi de réinventer la roue](https://git.deuxfleurs.fr/Deuxfleurs/garage/raw/branch/main/doc/talks/2020-12-02_wide-team/talk.pdf)
* [(en anglais, et formel) 28 avril 2021 : le stockage objet distribué est centralisé](https://git.deuxfleurs.fr/Deuxfleurs/garage/raw/branch/main/doc/talks/2021-04-28_spirals-team/talk.pdf)

View file

@ -11,9 +11,9 @@ extra:
# Guichet
Guichet est une interface de gestion utilisateur LDAP pour Bottin.
Il vise notamment à permettre aux utilisateurs de modifier leurs identifinats ainsi que leurs données personnelles.
Il vise notamment à permettre aux utilisateurs de modifier leurs identifiants ainsi que leurs données personnelles.
## Statut du développement
Guichet est actuellement utilisé en production pour deuxfleurs. Il est cependant toujours en développement actif.
Guichet est actuellement utilisé en production pour Deuxfleurs. Il est cependant toujours en développement actif.
Le code est ici : <https://git.deuxfleurs.fr/Deuxfleurs/guichet>

View file

@ -1,10 +1,12 @@
---
title: "Logiciels"
description: "Logiciels"
title: Développement logiciel
description: Logiciels
weight: 90
sort_by: "weight"
sort_by: weight
draft: false
date: 2024-01-24
extra:
parent: 'infrastructures/_index.md'
parent: infrastructures/_index.md
---
Cette section recense les logiciels développés par Deuxfleurs pour les besoins spécifiques de son infra.
@ -25,18 +27,18 @@ Quelques propriétés en vrac qu'on peut, ou ne pas, désirer :
- Je ne veux pas que le contenu de mes messages et des fichiers que je partage soient accessibles (eg. une photo que j'ai prise, mes réactions)
- Je ne veux pas que les métadonnées autour de mes messages soient accessibles (eg. les salons de discussions auxquels je prends pars, l'horodatage des messages, les personnes avec qui j'échange)
- Je ne veux pas que les métadonnées de communication soient accessibles (eg. quand je me connecte au service, depuis où, si j'intéragis sur le réseau, etc.), ces données permettent parfois d'inférer des métadonnées sur le protocol (autres personnes dans le salon de communication, horodatage, etc.)
- Je ne veux pas que les métadonnées de communication soient accessibles (eg. quand je me connecte au service, depuis où, si j'intéragis sur le réseau, etc.), ces données permettent parfois d'inférer des métadonnées sur le protocole (autres personnes dans le salon de communication, horodatage, etc.)
### Courrier électronique (de l'email au mixnet)
- Je ne veux pas que le contenu de mes emails et pièces jointes soit lisible (eg. le doc que j'ai joint)
- Je ne veux pas que les métadonnées autour de mon message soient accessibles (eg. le destinaire, l'expéditeur, l'horodatage, le client email utilisé, le sujet du mail, le dossier dans lequel il est stocké)
- Je ne veux pas que les métadonnées de communication soient accessibles (eg. quand je me connecte au service email, depuis où, quand j'intéragis sur le réseau), ces données permettent parfois d'inférer des métadonnées sur le protocol (destinaires, présence de pièce jointe,
- Je ne veux pas que les métadonnées autour de mon message soient accessibles (eg. le destinataire, l'expéditeur, l'horodatage, le client email utilisé, le sujet du mail, le dossier dans lequel il est stocké)
- Je ne veux pas que les métadonnées de communication soient accessibles (eg. quand je me connecte au service email, depuis où, quand j'intéragis sur le réseau), ces données permettent parfois d'inférer des métadonnées sur le protocole (destinataires, présence de pièce jointe, etc.)
### Synchronisation et collaboration sur des fichiers
- Je ne veux pas que le contenu de mes fichiers soit accessible
- Je ne veux pas que les métadonnées de mon fichier soient accessibles (eg. nom du fichier, dossier, format, taille, hash, etc.)
- Je ne veux pas que les métadonnées de communication soient accessibles (eg. quand j'accède au document, depuis où, qui d'autre, combien de fois, etc.), ces données permettent parfois d'inférer des métadonnées sur le protocol (taille, collaborateurs, type, etc.)
- Je ne veux pas que les métadonnées de communication soient accessibles (eg. quand j'accède au document, depuis où, qui d'autre, combien de fois, etc.), ces données permettent parfois d'inférer des métadonnées sur le protocole (taille, collaborateurs, type, etc.)
## Attaquants
@ -45,7 +47,7 @@ Quelques attaquants que l'on peut, ou ne pas, considérer :
- Hébergeur de la machine (eg. branche un clavier et un écran sur l'ordi et récupère un accès admin)
- Administrateur Système (eg. utilise ses accès privilégiés pour accéder volontairement ou non à du contenu privé)
- Développeurs (eg. ajout d'une porte dérobée au moment de l'écriture du code)
- Chaine logistique (eg. ajout d'une porte dérobée au moment de déployer l'app sur les serveurs ou le terminal de l'utilisateur)
- Chaîne logistique (eg. ajout d'une porte dérobée au moment de déployer l'app sur les serveurs ou le terminal de l'utilisateur)
- Opérateur Internet (eg. Orange)
- Regroupement d'opérateurs internet (cf "Tor netflow")
- Personne externe via internet (eg. hacker)
@ -86,7 +88,7 @@ Concernant la seconde approche, celle-ci semble beaucoup plus à notre portée :
- On peut imaginer que les clefs de chiffrement ne soient jamais stockées en clair nulle part : elles pourraient être stockées avec une passphrase qui serait le mot de passe de l'utilisateur (+ éventuellement un mécanisme de secret de shamir pour répartir les morceaux de clefs sur plusieurs machines), et c'est seulement au dernier moment (en RAM) qu'elles existent en version déchiffrée
- Enfin, on peut imaginer que Deuxfleurs fournisse à la place (ou en plus) du protocole standard un protocole entièrement chiffrée + un logiciel proxy que les utilisateurices pourraient installer sur leur machine pour avoir accès au protocole standard avec toutes leurs applications habituelles. Cette dernière option permetterait d'avoir le même niveau de sécurité que la solution consistant à définir de nouveaux protocoles, sans pour autant compromettre l'interopérabilité avec l'écosystème existant.
- Enfin, on peut imaginer que Deuxfleurs fournisse à la place (ou en plus) du protocole standard un protocole entièrement chiffrée + un logiciel proxy que les utilisateurices pourraient installer sur leur machine pour avoir accès au protocole standard avec toutes leurs applications habituelles. Cette dernière option permettrait d'avoir le même niveau de sécurité que la solution consistant à définir de nouveaux protocoles, sans pour autant compromettre l'interopérabilité avec l'écosystème existant.
## Ressources

View file

@ -13,7 +13,7 @@ Nous avons identifié 4 rôles pour nos serveurs, en fonction de la criticité d
et des données qu'ils auront à gérer.
[Production](@/infrastructures/production.md) - Les serveurs de productions sont ceux qui font tourner les services accédés par les usager·es (eg. Plume, Matrix, Cryptpad).
Si ils sont innaccessibles, alors les services ne fonctionnent plus. Et si une personne malveillante y accède, elle peut avoir accès à des données
Si ils sont inaccessibles, alors les services ne fonctionnent plus. Et si une personne malveillante y accède, elle peut avoir accès à des données
personnelles des usager·es. C'est donc le rôle le plus critique.
[Support](@/infrastructures/support.md) - Les serveurs de support servent pour les sauvegardes et la supervision des serveurs de production (eg. Grafana, Minio).
@ -23,7 +23,7 @@ et les sauvegardes, bien qu'elles soient chiffrées, contiennent tout de même d
[Développement](@/infrastructures/developpement.md) - Les serveurs de développement hébergent les outils qui nous permettent de travailler sur le logiciel,
les configurations, les tickets, ou la compilation. Ils ne contiennent pas de données personnelles mais peuvent être utilisés pour
des attaques de chaine d'approvisionnement (*supply chain attack*). À terme, ce rôle pourrait être fusionné avec la production.
des attaques de chaîne d'approvisionnement (*supply chain attack*). À terme, ce rôle pourrait être fusionné avec la production.
[Expérimentation](@/infrastructures/xp.md) - Les serveurs d'expérimentation servent à tester les nouvelles configurations, les nouveaux logiciels,
et le nouveau matériel. Ils permettent aux opérateur·ices de se familiariser avec leurs modifications et de minimiser l'impact d'un changement sur les serveurs de production,

View file

@ -7,52 +7,68 @@ extra:
---
Les serveurs de productions sont ceux qui font tourner les services accédés par les usager·es (eg. Plume, Matrix, Cryptpad).
Si ils sont innaccessibles, alors les services ne fonctionnent plus. Et si une personne malveillante y accède, elle peut avoir accès à des données
Si ils sont inaccessibles, alors les services ne fonctionnent plus. Et si une personne malveillante y accède, elle peut avoir accès à des données
personnelles des usager·es. C'est donc le rôle le plus critique.
**Feuille de route :** Bien que nous disposions aujourd'hui de 3 sites pour le cluster de production,
la résilience des services publiquement n'est pas assurés lorsque l'un des sites recevant du traffic
(Neptune, Orion) devient indisponible. La prochaine étape est de rendre ces deux sites mutuellement
redondants en assurant une bascule automatisée de l'un à l'autre par une mise à jour du DNS en cas
d'indisponibilité.
et que nous puissions fonctionner en mode dégradé sur 2 sites, nous allons développer de nouveaux sites
pour etre plus résilients en cas de panne longue d'un site. Par ailleurs, un des sites (Bespin à Bruxelles)
n'est pas utilisable comme point d'entrée actuellement, c'est un travail en cours.
Chaque serveur est accessible en SSH en IPv6 via le nom `XYZ.machine.deuxfleurs.fr`.
# Orsay (Neptune)
![Photo des 3 serveurs à Orsay](/img/serv_neptune.jpg)
Les serveurs sont situés à domicile derrière une connexion FTTH SFR (la photo montre une box Free qui date d'avant le changement de FAI).
Cette grappe gère certains services de manière exclusive: Jitsi, CryptPad.
D'autres services comme Garage sont répartis entre les grappes.
Les serveurs sont situés à domicile derrière une connexion FTTH Free.
Tous les services peuvent fonctionner sur ce site, et c'est également un point d'entrée public des services.
| Désignation | Rôle | Quantité | Détails | Refs|
| -- | -- | -- | -- | -- |
| ThinkCentre M710q Tiny | Serveur | x1 | 2 cœurs, 4Go RAM, HDD 500Go | celeri |
| ThinkCentre M73 Tiny | Serveur | x2 | 2 cœurs, 8Go RAM, HDD 500Go | concombre, courgette |
| ThinkCentre M73 Tiny | Bridge IPv6 | x1 | 2 cœurs, 4Go RAM, HDD 500Go | |
| ThinkCentre M710q Tiny | Serveur | x2 | 2 cœurs, 8Go RAM, SSD 500Go + HDD 500Go | celeri, concombre |
| ThinkCentre M710q Tiny | Serveur | x1 | 2 cœurs, 12Go RAM, SSD 500Go + HDD 500Go | courgette |
| D-Link DGS-108gl | Switch | x1 | 8 ports ethernet @ 1Gbit/s | |
| Box SFR | Routeur | x1 | N/A | |
| Box Free | Routeur | x1 | N/A | |
# Lyon (Orion)
# Lille (Scorpio)
![Photo des 3 serveurs à Lyon](/img/serv_orion.jpg)
![Photo des 3 serveurs à Lille](/img/serv_atuin.jpg)
Les serveurs sont situés à domicile derrière une connexion FTTH Free.
Cette grappe gère certains services de manière exclusive: E-mails, Matrix, Guichet, Plume.
D'autres services comme Garage sont répartis entre les grappes.
Tous les services peuvent fonctionner sur ce site, et c'est également un point d'entrée public des services.
| Désignation | Rôle | Quantité | Détails | Refs |
| -- | -- | -- | -- | -- |
| ThinkCentre M710q Tiny | Serveur | x3 | 2 cœurs, 4Go RAM, SSD 500Go + HDD 500Go | dahlia, doradille, diplotaxis |
| ThinkCentre M83 | Serveur | x2 | 2 cœurs, 12Go RAM, SSD 500Go + HDD 2To | ananas, abricot |
| Freebox | Routeur | x1 | N/A | N/A |
# Bruxelles (Bespin)
![Photo des 3 serveurs à Bruxelles](/img/serv_bespin.jpg)
Cette grappe ne gère aucun service accessible publiquement, mais elle fait partie intégrante du cluster Garage.
Les serveurs sont situés à domicile derrière une connexion FTTH Belgacom.
Ce site n'est actuellement pas complètement utilisable pour Deuxfleurs, l'IPv4 publique étant partagée avec d'autres
usages. Par conséquent, ce n'est pas un point d'entrée public des services. Cependant, certains services peuvent
quand meme fonctionner sur ce site, et il participe pleinement au cluster Garage pour redonder le stockage.
| Désignation | Rôle | Quantité | Détails | Refs |
| -- | -- | -- | -- | -- |
| ThinkCentre M710q Tiny | Serveur | x3 | 2 cœurs, 8Go RAM, SSD 500Go + HDD 500Go | df-ymk, df-ymf, df-ykl |
| N/A | Switch | x1 | N/A | N/A |
| N/A | Routeur | x1 | N/A | N/A |
# Rennes (Dathomir)
Site en cours de construction pour améliorer la redondance en cas de panne d'un site.
Accès Internet : FTTH Free
# Nantes (Corrin)
Site en cours de construction pour améliorer la redondance en cas de panne d'un site.
Accès Internet : FTTH Rézine via Axione

View file

@ -28,7 +28,7 @@ rôles identifiés : production, développement, expérimentation, etc.
| [Guichet](https://guichet.deuxfleurs.fr) | production | Neptune | Interface de gestion des utilisateurs |
| Prometheus | production | Neptune, Bespin | Interface de monitoring de l'infrastructure |
| [Grafana](https://grafana.deuxfleurs.fr) | production | Neptune | Interface de monitoring de l'infrastructure |
| [Gitea](https://git.deuxfleurs.fr) | développement | Bespin | Forge logicielle |
| [Forgejo](https://git.deuxfleurs.fr) | développement | Bespin | Forge logicielle |
| [Drone](https://drone.deuxfleurs.fr) | développement | Neptune | Serveur d'intégration continue |
| Drone (runner) | développement | Bespin | Worker pour l'intégration continue |
| SSH | sauvegarde | Mercure | Target de backups (Consul) |

View file

@ -26,7 +26,7 @@ Il est en charge de la surveillance de la production (métrologie, etc.) et des
| [Microtik RB4011iGS+RM](https://mikrotik.com/product/rb4011igs_rm) | Routeur | x1 | Routeur et pare-feu, ports 1x10G SFP+ et 10x1G |
| Serveur Dell R710 | Hyperviseur | x3 | 2 socket, Xeon E5520 (4c8t @ 2.26Ghz) <br> 80Go RAM, 500GB NVMe, 1TB RAID matériel, réseau LACP 2x1G |
Seulement une partie du serveur est mise à dispsition de Deuxfleurs :
Seulement une partie du serveur est mise à disposition de Deuxfleurs :
| Désignation | Rôle | Quantité | Détails |
| -- | -- | -- | -- |

View file

@ -14,5 +14,5 @@ Tricot est un reverse-proxy HTTP et HTTPS qui s'auto-configure à partir de [Con
## Statut du développement
Tricot est actuellement utilisé en production pour deuxfleurs. Il est cependant toujours en développement actif.
Tricot est actuellement utilisé en production pour Deuxfleurs. Il est cependant toujours en développement actif.
Le code de Tricot se trouve ici : <https://git.deuxfleurs.fr/Deuxfleurs/tricot>

View file

@ -11,25 +11,46 @@ et le nouveau matériel. Ils permettent aux opérateur·ices de se familiariser
et donc sur la disponibilité des services. Ces machines ne contiennent pas de données personnelles et ne sont pas critiques, elles n'ont pas besoin de rester tout le temps allumées.
Il n'est pas nécessaire d'être opérateur·ice pour gérer une de ces machines.
Ces serveurs sont organisés dans un cluster Nomad séparé de la production. Ce cluster fonctionne uniquement en IPv6.
Cela permet de ne pas interférer avec le cluster de production lorsque des noeuds d'expérimentations et de production
cohabitent sur le meme site.
Chaque serveur est accessible en SSH en IPv6 via le nom `XYZ.machine.staging.deuxfleurs.org`.
# Orsay (Neptune)
![Photo d'illustration du Lenovo Tiny](/img/serv_m73tiny.jpg)
Cluster staging: expérimentations avec NixOS et de nouveaux déploiements dans Nomad, avant de les mettre en service sur le cluster de production.
Cluster de test de Garage.
Cluster staging.
| Désignation | Rôle | Quantité | Détails | Refs |
| -- | -- | -- | -- | -- |
| ThinkCentre M73 Tiny | Serveur | x1 | 2 cœurs, 8Go RAM, HDD 500Go | caribou |
| ThinkCentre M73 Tiny | Serveur | x2 | 4 cœurs, 8Go RAM, SSD 240Go | carcajou, cariacou |
# Bruxelles (Bespin)
Cluster staging.
| Désignation | Rôle | Quantité | Détails | Refs |
| -- | -- | -- | -- | -- |
| ThinkCentre M73 Tiny | Serveur | x1 | 2 cœurs, 8Go RAM, HDD 500Go | df-pw5 |
# Rennes (Jupiter)
Cluster staging (idem).
Cluster staging.
| Désignation | Rôle | Quantité | Détails | Refs |
| -- | -- | -- | -- | -- |
| ThinkCentre M73 Tiny | Serveur | x1 | 2 cœurs, 4Go RAM, HDD 500Go | origan |
*Note : `origan` a un FQDN non standard : `origan.df.trinity.fr.eu.org`*
# Nantes (Corrin)
Cluster staging.
| Désignation | Rôle | Quantité | Détails | Refs |
| -- | -- | -- | -- | -- |
| ThinkCentre M73 Tiny | Serveur | x1 | 2 cœurs, 4Go RAM, HDD 500Go | piranha |

View file

@ -0,0 +1,180 @@
---
title: "Mai 2024"
description: "Mai 2024: perte d'une zone, migration des services email"
date: 2024-05-12
dateCreated: 2024-05-12
weight: 30
extra:
parent: 'operations/pannes.md'
---
12 mai 2024 : coupure de la connexion fibre sur le site à Lille (scorpio).
Les services cryptpad et email sont impactés.
Après plus de 24h de coupure, on décide de migrer les services email vers un autre site pour éviter de perdre des emails qui seraient dans la file de serveurs emails à destination de deuxfleurs.
# Infos infra
- Sites: scorpio (Lille), neptune (Orsay)
- machine à Lille dont on migre : ananas
- Orsay IPv4 : 82.67.87.112 , IPv6 : 2a01:e0a:2c:540::33
- Machines Orsay : {courgette,celeri,concombre}.machine.deuxfleurs.fr
+ courgette (12G RAM, 500G HDD, 500G SSD Samsung 980), avec postgres (pinned)
+ celeri (8G RAM, 2T HDD, 500G SSD Samsung 980), avec matrix
+ concombre (8G RAM, 500G SSD Samsung 980, 500G HDD), avec jitsi/plume/woodpecker
# Feuille de route emails
- vérifier l'existence et l'âge des backups emails
+ dernier backup: 9644354b 2024-05-11 02:00:05 89e2ffda19db /mail
+ se convaincre que c'est un backup suffisamment récent par rapport à la coupure qui a commencé samedi 11 matin à 7h07
- ✅ choisir un serveur à Orsay
+ courgette a postgres pin sur cette machine, on choisit une autre machine parmi celeri/concombre
+ choix de celeri
- ✅ s'assurer que restic existe sur la machine destination et qu'il est en version 0.16 ou plus
- ✅ restore le backup avec restic (cf cheatsheet et le script restic_restore_gen) depuis la machine destination
- ✅ vérifier que les entrées SPF, DKIM, DMARC sont compatibles avec Orsay
+ entrée SPF à modifier sur Gandi
* entrée mx qui devrait suffire ?
* mais on pourrait ajouter neptune.site.deuxfleurs.fr (et enlever orion.site.deuxfleurs.fr qui n'existe plus)
+ rien à faire pour DKIM/DMARC?
* Pour DKIM et DMARC rien à faire tant que la clef ne change pas, ce sont des politiques
- ✅ vérifier que le reverse-DNS de l'IP d'Orsay est bon
+ C'est fait:
* dig +short -x 82.67.87.112: neptune.site.deuxfleurs.fr.
- ✅ vérifier que les autres entrées DNS (A,AAAA, MX) sont comme il faut :
+ ✅ MX deuxfleurs.fr (pas besoin de modifier, il pointe bien vers smtp.deuxfleurs.fr)
+ ✅ A smtp.deuxfleurs.fr (pas besoin de modifier à la main en fait, d53 s'en charge en fait !)
+ ✅ AAAA smtp.deuxfleurs.fr (pas besoin de modifier à la main en fait, d53 s'en charge en fait !)
+ ✅ A imap.deuxfleurs.fr (pas besoin de modifier à la main en fait, d53 s'en charge en fait !)
+ ✅ AAAA imap.deuxfleurs.fr (pas besoin de modifier à la main, d53 s'en charge !)
- ✅ comprendre où étaient stockés les données des emails sur ananas (chemin sur le FS)
+ a priori /mnt/ssd/mail d'après la feuille de route précédente
+ retrouvable dans le fichier hcl du service email -> /mnt/ssd/mail en effet
- ✅ stopper le service nomad email (FAIT)
+ ça devrait être OK vis à vis des enregistrement DNS et D53, car D53 ne gère pas le MX (si on retire un enregistrement DNS et quelqu'un fait une requête il va recevoir un NXDOMAIN qui sera peut être mis en cache pendant plus longtemps que l'on voudrait)
- ✅ pause pendant le transfert des données !
- ✅ faire des tests sur les données ?
+ ✅ verifier que le chemin est ok (/var/ssd/mail et pas /var/ssd/mail/mail/ - restic est piegeur)
+ ✅ il y a bien les users
+ que peut-on faire de plus que faire confiance à restic ?
- ✅ vérifier que les permissions (owner/group/etc) des fichiers sont ce qu'on veut
+ https://git.deuxfleurs.fr/Deuxfleurs/nixcfg/src/branch/main/cluster/prod/app/email/build/dovecot/entrypoint.sh
+ -> le conteneur fait le bon chown au démarrage, donc il n'y a rien à faire
- ✅ relire et modifier le fichier nomad pour le service email pour déployer sur la nouvelle machine
- ✅ démarrer le service nomad sur la nouvelle machine
- ✅ tester les accès (IMAPS: 993, SMTPS: 465, SMTP: 25)
+ ✅ openssl s_client -connect host:port en IPv4 et IPv6 direct
+ ✅ vérifier que ça marche aussi avec {smtp,imap}.deuxfleurs.fr
+ ✅ vérifier avec thunderbird
+ ✅ vérifier SoGo
* interface web (OK)
* Exchange Active Sync
+ ✅ vérifier Alps
DÉBLOQUER LE PORT 25 DE LA FREEBOX PARDIOU !
- ✅ vérifier la réception des emails
+ ✅ depuis gandi (+ autres ?)
+ ✅ depuis microsoft (OK)
+ ✅ depuis google (OK)
+ ✅ depuis 6clones https://www.6clones.fr/emails
- ✅ vérifier l'envoi d'emails
+ ✅ Le port 25 est bloqué sur la freebox 😭 😭 😭 😭 😭 😭 😭 😭
+ ✅ chez gandi (+ autres ?)
+ 🟧 chez microsoft (en spam)
+ ✅ chez google
+ ✅ avec mailtester -> https://www.mail-tester.com/
+ ✅ vers 6clones https://www.6clones.fr/emails
- ✅ configurer le backup des emails pour backuper la nouvelle machine au lieu d'ananas
+ lancer un backup pour vérifier que ça fonctionne
- ✅ Commit + Push les modifications qui ont été faites sur nixcfg !!!!
- ⌛ réputation IP
+ ✅ Spamhaus https://www.spamhaus.org/query/ip/82.67.87.112 a l'air bon
+ ✅ Microsoft
* http://postmaster.live.com/snds/ (impossible à faire car on ne détient pas les IP / il n'y a pas besoin de le faire)
* Office 365 Anti-Spam IP Delist Portal https://sender.office.com/
+ ✅ Baracuda Networks https://barracudacentral.org/ (OK: "not listed as poor")
+ ✅ Trend Micro http://www.mail-abuse.com/cgi-bin/lookup?ip_address=82.67.87.112
* BAD "dial-up user list". Demande de délistage soumise (avec email de contact prod-sysadmin@deuxfleurs.fr).
* on a reçu un email disant que c'est délisté; à rechecker bientôt ?
+ ⌛ Spam-RBL https://spam-rbl.fr/bl.php?ip=82.67.87.112
* partiellement listé
+ ✅ Abusix https://lookup.abusix.com/search?q=82.67.87.112
* not listed!
+ ✅ SORBS http://www.sorbs.net/cgi-bin/dulexclusions
* OK!
* Du coup c'est très cool, on va ameliorer notre delivery !
+ Pour info seulement :
* Meta checker -> https://multirbl.valli.org/lookup/82.67.87.112.html
** partiellement listé: rbl.rbldns.ru ; a recheck dans qq heures d'après leur documentation
* DNS checker -> https://dnschecker.org/ip-blacklist-checker.php?query=82.67.87.112
** partiellement listé: https://matrix.spfbl.net/82.67.87.112 veut $2
Une fois Lille de retour :
- ⌛ renommer le dossier contenant les données mail en mail_deprecated
- ⌛ faire un diff entre les données sur ananas et les données du backup que l'on a restore
- ⌛ migrer les données du diff si on peut ?
+ On peut probablement se baser sur les dates de création des fichiers sur ananas
## Exemple de message à envoyer aux blocklists
### Reason for removal request
> [EN] Deuxfleurs (deuxfleurs.fr) is an experimental & alternative non-profit email provider. This is why we are sending (legitimate!) emails from a residential IP address. We are sending mainly organic emails and few transactional emails (we don't do marketing or newsletter emails). We have strict policies to ensure that emails sent from our servers are legitimate, here is a non-exhaustive list of our trust policy: account creation is manually validated, our SMTP server is authenticated (no SMTP open relay), SPF, DKIM & DMARC are configured, our servers are closely monitored. We operate from a static IPv4 and IPv6 block bound to the fiber line allocated by the ISP, hence the dial-up classification. Thanks in advance for keeping the Internet an open place!
> [FR] Deuxfleurs (deuxfleurs.fr) est une association fournissant des services d'hébergement email, et nous hébergeons nos services derrière des adresses IP résidentielles.
> Nous envoyons principalement des emails non-automatisés (ni emails marketing ou démarchage). Nous implémentons des politiques strictes pour garantir que les emails envoyés depuis nos serveurs sont légitimes : les comptes sont validés manuellement par les administrateurs, notre serveur SMTP est authentifié (pas de relai SMTP ouvert), nous avons configuré SPF, DKIM et DMARC, et nos serveurs sont monitorés.
> Nos serveurs opèrent derrière des IPv4 et IPv6 statiques liés à une ligne fibre FTTH (IPs probablement allouées précédemment par le FAI à des lignes DSL).
> Merci d'avance !
### Reason why the IP address is not in static allocation
> This is a static allocation from the ISP. This used to be an IP address associated with DSL lines from our ISP, now recycled for FTTH lines.
# Feuille de route cryptpad
- problème : les backups sont probablement toujours faits depuis un ancien déploiement cryptpad
+ confirmer ça -> oui en effet
- si c'est bien ça, quelle taille font les données cryptpad ? Adrien peut-il les uploader en 4g en se connectant en local à ananas ?
+ Probablement autours de 1.5/2Gio, vu que c'est ce que Quentin a récupéré du backup qui n'est pas si vieux que ça
+ c'est l'ordre de grandeur de quand on a fait la snapshot de migration aussi
...
- ✅ changer la source des backups cryptpad vers le nouveau déploiement
# Cheatsheet
## Backups
Pour lister et récupérer un backup, depuis le dépot nixcfg:
```
./restic_summary
./restic_restore_gen mail <ID> /mnt/ssd
```
## Comparer les données entre deux dossiers
```
rclone hashsum md5 /mnt/storage/mail-bckp-2/ --output-file mail-hdd.sum
rclone hashsum md5 /mnt/ssd/mail/ --output-file mail-ssd.sum
sort mail-ssd.sum | md5sum
sort mail-hdd.sum | md5sum
```
# Idées pour le futur
- les backups de cryptpads qui sont cassés => réfléchire a une stratégie de *tests* de backups
- on pourrait setup un MX secondaire qui queue indéfinimenet et essaie de push sur le primaire, pour pas perdre d'emails entrants en cas de down de la zone principale. /!\ a bien backup aussi cette queue
+ MX secondaire
+ sur le primaire, penser a bind la queue postfix aussi (ajd on pourrait perdre des emails récement reçu, mais pas encore délivré)
- on a encore des backups de plume, mais ils sont vieux. p-e plus besoin maintenant que les médias sont sur s3?
- hcl de backups => cron deprecated, use crons instead (ça accept les listes de cron maintenant)

View file

@ -0,0 +1,13 @@
---
title: "MàJ certificats du cluster"
description: "Mise à jour des certificats du cluster"
date: 2024-08-17
dateCreated: 2024-08-17
weight: 12
extra:
parent: 'operations/maintien_en_condition.md'
---
Comment mettre à jour les certificats du cluster ?
Voir la [feuille de route de l'atelier 2024](https://pad.deuxfleurs.fr/code/#/2/code/view/mYz4-9xVfeuCUxkYbqB2vuT7gkGbmNPa-v+jRLhP+50/).

View file

@ -29,14 +29,21 @@ Nous vous expliquons ici comment héberger une boîte mail avec un nom de domain
* Lancez `imap-backup backup --accounts=<votre_adresse_mail>`, ce qui va télécharger tous vos e-mails sur votre ordinateur (c'est long).
1. Communiquez votre nom de domaine à un⋅e administrateur⋅ice de Deuxfleurs pour qu'iel l'ajoute à :
1. Communiquez l'adresse courriel souhaitée à un⋅e administrateur⋅ice de Deuxfleurs. Iel devra réaliser les opérations suivantes :
* la liste des [domaines gérés par Deuxfleurs dans le LDAP](https://guichet.deuxfleurs.fr/admin/ldap/ou=domains,ou=groups,dc=deuxfleurs,dc=fr),
* et dans la [table de signature DKIM](https://git.deuxfleurs.fr/Deuxfleurs/nixcfg/src/branch/main/cluster/prod/app/email/config/dkim/signingtable).
1. Communiquez-lui l'adresse e-mail que vous souhaitez utiliser. Vous pouvez ajouter autant d'alias que vous souhaitez, il seront reçus sur la même boîte mail.
L'admin devra les ajouter ligne à ligne dans l'entrée `mail` dans votre profil utilisateur (en laissant votre adresse `@deuxfleurs.fr` en premier).
* ajouter le nom de domaine à la liste des [domaines gérés par Deuxfleurs dans le LDAP](https://guichet.deuxfleurs.fr/admin/ldap/ou=domains,ou=groups,dc=deuxfleurs,dc=fr). Pour cela, une fois sur la page guichet :
* appuyer sur le bouton vert « +objet »
* Dans `Identifiant`, on peut mettre l'identifiant de l'usager⋅e concerné⋅e
* Dans `Description`, mettre quelque chose comme `Nom de domaine de XXX`
* Dans `StructuralObjectClass`, mettre `groupOfNames`
* Dans `ObjectClass`, mettre `groupOfNames`, puis, à la ligne, `top`, et, encore à la ligne, `dNSDomain`
* Valider avec le bouton « Créer l'objet »
* Ajouter un attribut `domain` et y mettre le nom de domaine de l'adresse courriel souhaitée
* ajouter le nom de domaine à la [table de signature DKIM](https://git.deuxfleurs.fr/Deuxfleurs/nixcfg/src/branch/main/cluster/prod/app/email/config/dkim/signingtable). Une fois fait, iel devra la déployer :
* il faut lancer le `tlsproxy` du dépôt `nixcfg` en visant `prod`
* sur un autre terminal, se connecter en SSH sur une de ces machines
* sur encore un autre terminal, en local, à l'intérieur du dossier `nixcfg`, se situer à l'emplacement `cluster/prod/app/email/deploy`. Puis lancer `nomad plan email.hcl`. Si et seulement si la sortie paraît satisfaisante, alors lancer `noman run email.hcl`.
* ajouter l'adresse courriel dans l'entrée `mail` de votre profil utilisateur LDAP. Il doit y avoir une adresse courriel par ligne, et il faut laisser l'adresse en `@deuxfleurs.fr` à la première. On peut ici ajouter autant d'alias que l'on veut, et tout sera reçu sur la même boîte de réception.
1. Vous devez ensuite rajouter les entrées pour votre nom de domaine en éditant votre zone DNS (si vous n'y comprenez rien, faites-vous aider de l'admin) :

View file

@ -0,0 +1,25 @@
---
title: "Guichet"
description: "Gestion de Guichet"
weight: 11
sort_by: "weight"
extra:
parent: 'operations/_index.md'
---
Guichet, service interne qui sert notamment à la gestion des usager⋅es, aurait grandement besoin de votre aide en termes de développement. Voyez plutôt :
# Éditer un mot de passe
AHAAAAHH, pauvre de vous, vous devez éditer un mot de passe.
> CALCULEZ LE HASH `SSHA512` À LA MAIN !!
Ou sinon, rendez-vous à la page de modification d'un utilisateur [Guichet](https://guichet.deuxfleurs.fr), puis cherchez le champ `userpassword` (et s'il n'existe créez ce champ en mettant `userpassword` dans le champ gauche de la dernière ligne de la section « Attributs »).
On s'intéresse désormais au champ à droite de `userpassword`, que vous souhaitez créer/modifier. Pour créer ledit hash du mot de passe, on vous recommande l'outil suivant (_one-liner_) :
docker run --rm -it dxflrs/guichet:m1gzk1r00xp0kz566fwbpc87z7haq7xj cli -passwd
Entrez le mot de passe, et copiez-collez dans le champ sus-mentionné la fin de la ligne commençant par « Passowrd: » _en incluant `{SSHA512}`_. Validez. Si le nouveau champ n'apparaît pas, rechargez la page Guichet en cliquant dans la barre d'adresse et en appuyant sur Entrée (pour ne pas renvoyer la requête).

View file

@ -1,11 +1,12 @@
---
title: "Le dépôt des secrets"
description: "Le dépôt des secrets"
title: Le dépôt des secrets
description: Le dépôt des secrets
weight: 10
draft: false
date: 2024-03-16
extra:
parent: 'operations/acces.md'
parent: operations/acces.md
---
We use [pass, 'the standard unix password manager'](https://www.passwordstore.org/), to manage our key store securely at Deuxfleurs. Getting access to our production involves publishing one's GPG key (through Gitea) and importing/verifying/signing every other sysadmin's key, before setting up `pass`. Lastly, you will be able to set your shell password on the desired cluster (`prod` or `staging`, at the time of writing).
Our process was adapted from [this Medium article](https://medium.com/@davidpiegza/using-pass-in-a-team-1aa7adf36592) — thanks, David!
@ -18,10 +19,12 @@ If you do not already have one, you can generate a new one with:
```bash
gpg2 --expert --full-gen-key
# Personnaly I use `9) ECC and ECC`, `1) Curve 25519`, and `5y`
# Pour le nom, il vous identifie vous, vous pouvez l'utiliser pour signer des mails par exemple.
```
In any case, you need to export your public key. Upload the output (public key) of the following command to [your Gitea account](https://git.deuxfleurs.fr/user/settings/keys).
(Il se peut que vous n'ayez que la commande `gpg` sur votre PC parce qu'il est moderne. Faites `gpg --version` pour vérifier.)
In any case, you need to export your public key. Upload the output (public key) of the following command to [your Gitea account](https://git.deuxfleurs.fr/user/settings/keys).
```bash
gpg2 --export --armor <your email address>
@ -29,7 +32,30 @@ gpg2 --export --armor <your email address>
It is now publicly accessible at `https://git.deuxfleurs.fr/<your_gitea_username>.gpg`
Inform all the other sysadmins that you have published your key for them to import/verify/sign it.
### Inform the other sysadmins that you have published your key
Download the `secrets` repository:
```
mkdir -p ~/.password-store
cd ~/.password-store
git clone git@git.deuxfleurs.fr:Deuxfleurs/secrets.git deuxfleurs
```
Get the `<hexa_of_your_gpg_key>`, which you can get with `gpg --list-keys --keyid-format 0xLONG` .
It's in the format `0x0123456789ABCDEF`.
Beware to take the key of your main key (line begins with `pub`, not with `sub`).
- Add your key address to the `Import keys` section of the repo's `README.md`:
```
curl https://git.deuxfleurs.fr/<your_gitea_username>.gpg | gpg2 --import # <hexa_of_your_gpg_key>
```
- Also add your `<hexa_of_your_gpg_key>` to the `.gpg-id` file.
- In [your Gitea settings](https://git.deuxfleurs.fr/user/settings), ensure your User visibility is `Public`.
Now `git commit/pull/push`, and tell yo' friends that you're all set.
### Import/verify/sign every other sysadmin's key into your keychain
@ -44,9 +70,8 @@ gpg2 --list-keys
# sub cv25519/0xA40574404FF72851 2022-04-19 [E] [expire : 2027-04-18]
```
> How to read this snippet:
> - the key id: `E9602264D639FF68`
> - the key fingerprint: `8023 E27D F1BB D52C 559B 054C E960 2264 D639 FF68`
> How to read this snippet:- the key id: `E9602264D639FF68`
> - the key fingerprint: `8023 E27D F1BB D52C 559B 054C E960 2264 D639 FF68`
To perform the check, you need another communication channel (ideally physically, otherwise through the phone, Matrix if you already trusted the other person, or else). Compare the signature you read with the sysadmin's. If they match, you good.
@ -75,15 +100,7 @@ brew install pass # macOS
pkg install password-store # FreeBSD
```
*Go to [passwordstore.org](https://www.passwordstore.org/) for more information about pass*.
Download the repository:
```
mkdir -p ~/.password-store
cd ~/.password-store
git clone git@git.deuxfleurs.fr:Deuxfleurs/secrets.git deuxfleurs
```
_Go to for more information about pass_.
Finally check that everything works:
@ -93,7 +110,6 @@ pass show deuxfleurs
If you see a listing, it worked. Last step is to select a shell password for yourself on the cluster you are now in charge of (`prod` or `staging`, at the time of writing).
Clone the nixcfg repository:
```
@ -102,6 +118,7 @@ cd nixcfg
```
Use the passwd utility to set your shell password:
```
./passwd
> Usage: ./passwd <cluster name> <username>
@ -109,6 +126,7 @@ Use the passwd utility to set your shell password:
```
This commited changes to Deuxfleurs' password store, do verify your modifications before pushing them:
```
cd ~/.password-store/deuxfleurs
git diff
@ -145,14 +163,6 @@ pass insert deuxfleurs/backup_nextcloud
## Add a sysadmin
Edit `~/.password-store/acme/.gpg-id` and add the id of the newbie:
```
alice@example.com
jane@example.com
bob@example.com
```
Make sure that you trust the keys of your new sysadmin:
```
@ -197,3 +207,7 @@ mkdir -p ~/.password-store
cd ~/.password-store
git clone https://git.example.com/org/repo.git deuxfleurs
```

View file

@ -0,0 +1,58 @@
---
title: "Prérequis pour un site"
description: "Prérequis pour un site"
date: 2024-05-30
dateCreated: 2024-05-30
weight: 10
extra:
parent: 'operations/site.md'
---
# Qu'est-ce qu'un site géographique
Dans un *site géographique*, on installe une *grappe d'ordinateurs* au sein d'un *réseau local*, qu'on connecte au cluster de Deuxfleurs.
On peut distinguer deux types de sites :
* _Dans un centre de données_ : chaque ordinateur de la grappe appartient au même centre de données, dispose d'une adresse IP fixe qui le connecte directement à Internet.
Dans ce cas-ci, **l'installation et l'administration sont assez simples** (on a moins de concepts à avaler que chez un particulier).
Par contre, **nous ne sommes pas chez nous** : le propriétaire du centre de données peut accéder aux disques, et voit ce qui passe sur le réseau. **Chiffrement du disque vivement conseillé.**
* _Chez un particulier_ : la grappe est reliée à Internet par une *box*, qui filtre le trafic réseau selon des règles variables. La grappe se partage l'adresse IP de la box (qui peut changer régulièrement, être en IPv4 ou en IPv6).
Dans ce cas de figure, **l'installation comme l'administration demandent plus de connaissances** : pour caricaturer, on doit installer et administrer la grappe **malgré le Fournisseur d'Accès Internet** (FAI), qui considère *a priori* que son abonnement ne sert pas à héberger des services web.
On aura affaire à sa box (NAT, pare-feu...), au manque de garanties concernant notre adressabilité (IPv4 dynamique, IPv6 ? ...), ce qui va nous mener à devoir faire du routage. Le nœud du problème, c'est que chaque ordinateur de la grappe n'aura pas pignon sur rue (pas d'adresse IP publique et fixe par machine).
Néanmoins, **on est chez nous !** Votre disque dur - qui contient les données personnelles de vos usagers chéris - est sous vos yeux, bien au chaud. Le seul curieux qui voit passer votre trafic réseau est votre FAI : *rien de nouveau sous le soleil*.
# Pré-requis humains
- assurer une sécurité physique vis-à-vis des machines et des données qu'elles contiennent
- pouvoir intervenir physiquement dans un délai de quelques jours en cas de panne d'une machine ou du réseau
- être d'accord pour partager son réseau et son IP avec l'infrastructure de Deuxfleurs (ou alors disposer d'une seconde connexion à Internet)
# Pré-requis techniques de base
- disposer d'une connexion fibre / FTTH avec un débit montant d'au moins 100 Mbps
- disposer d'une IPv4 publique dédiée et non partagée (la plupart des FAI proposent cette option)
- avoir un FAI qui fournit de l'IPv6
- avoir un routeur ou une box qui supporte UPnP
- pouvoir configurer le firewall IPv6 sur le routeur ou la box pour autoriser le trafic IPv6 entrant vers les noeuds Deuxfleurs
- ne pas déjà héberger des serveurs chez soi qui auraient besoin des mêmes ports TCP/UDP que Deuxfleurs (80, 443, 25, ...)
# Pré-requis supplémentaires pour le mail
Héberger un service mail demande des pré-requis supplémentaires :
- pouvoir définir le reverse DNS associé à son IPv4 publique. Free le permet, ainsi que la plupart des FAI associatifs. Orange et SFR ne le permettent pas.
- s'assurer que le FAI ne bloque pas le port 25 en entrée. Certains FAI comme Free bloquent par défaut mais permettent de débloquer sur demande. Orange ne permet pas de débloquer le port 25.
# Fournisseurs d'accès Internet recommandés
Pour l'instant, les FAI suivants ont été testés et remplissent tous les pré-requis :
- Free
- Belgacom
- Rézine

View file

@ -1,7 +1,7 @@
---
title: "Prérequis pour un nœud"
description: "Prérequis pour un nœud"
date: 2022-01-09T13:29:29.710Z
date: 2024-05-30
dateCreated: 2021-12-28T14:33:59.088Z
weight: 10
extra:
@ -22,20 +22,7 @@ Héberger des services web est une tâche à la portée de la plupart des ordina
# Choix d'un site géographique
Dans un *site géographique*, on installe une *grappe d'ordinateurs* au sein d'un *réseau local*, qu'on connecte au cluster de Deuxfleurs.
Dans la plupart des cas, le nouveau noeud sera ajouté à un site géographique existant.
On peut distinguer deux types de sites :
Si il est envisagé d'installer un nouveau site géographique, voir : [guide d'installation d'un nouveau site géographique](@/operations/site.md)
* _Dans un centre de données_ : chaque ordinateur de la grappe appartient au même centre de données, dispose d'une adresse IP fixe qui le connecte directement à Internet.
Dans ce cas-ci, **l'installation et l'administration sont assez simples** (on a moins de concepts à avaler que chez un particulier).
Par contre, **nous ne sommes pas chez nous** : le propriétaire du centre de données peut accéder aux disques, et voit ce qui passe sur le réseau. **Chiffrement du disque vivement conseillé.**
* _Chez un particulier_ : la grappe est reliée à Internet par une *box*, qui filtre le trafic réseau selon des règles variables. La grappe se partage l'adresse IP de la box (qui peut changer régulièrement, être en IPv4 ou en IPv6).
Dans ce cas de figure, **l'installation comme l'administration demandent plus de connaissances** : pour caricaturer, on doit installer et administrer la grappe **malgré le Fournisseur d'Accès Internet** (FAI), qui considère *a priori* que son abonnement ne sert pas à héberger des services web.
On aura affaire à sa box (NAT, pare-feu...), au manque de garanties concernant notre adressabilité (IPv4 dynamique, IPv6 ? ...), ce qui va nous mener à devoir faire du routage. Le nœud du problème, c'est que chaque ordinateur de la grappe n'aura pas pignon sur rue (pas d'adresse IP publique et fixe par machine).
Néanmoins, **on est chez nous !** Votre disque dur - qui contient les données personnelles de vos usagers chéris - est sous vos yeux, bien au chaud. Le seul curieux qui voit passer votre trafic réseau est votre FAI : *rien de nouveau sous le soleil*.

View file

@ -0,0 +1,94 @@
---
title: "Configuration réseau OpenWrt"
description: "Configuration réseau OpenWrt"
date: 2024-05-30
dateCreated: 2024-05-30
weight: 20
extra:
parent: 'operations/site.md'
---
# Pourquoi OpenWrt
Pour installer un site géographique, il y a deux possibilités pour gérer le réseau :
- utiliser la box fournie par le FAI
- utiliser son propre routeur
Certaines box de FAI sont limitées : elles ne permettent parfois pas de configurer le pare-feu IPv6, ou bien elles ont un support d'UPnP pas assez fiable pour les besoins de Deuxfleurs.
Dans ce cas, utiliser son propre routeur et y installer [OpenWrt](https://openwrt.org/) est un choix naturel : c'est un projet en logiciel libre, avec une grande communauté et beaucoup de modèles matériel supportés.
Par ailleurs, OpenWrt est très modulaire, on peut installer des paquets additionnels pour rajouter des fonctionnalités comme UPnP.
Attention, installer et configurer OpenWrt demande d'être à l'aise avec SSH, vim, et d'avoir quelques connaissances en réseau.
# Choisir un matériel supporté par OpenWrt
Voir [le site d'OpenWrt](https://openwrt.org/supported_devices).
# Installer OpenWrt
Voir [la documentation OpenWrt](https://openwrt.org/docs/guide-quick-start/start) et un [guide générique](https://openwrt.org/docs/guide-user/installation/generic.flashing).
# Configurer OpenWrt pour un site géographique Deuxfleurs
## Configuration de base
- installer OpenWrt
- se connecter en SSH sur le routeur
- définir un mot de passe root avec `passwd`, le renseigner dans le [dépôt des secrets](@/operations/pass.md)
- désactiver les IPv6 ULA : dans `/etc/config/network`, supprimer le bloc qui ressemble à ça :
```
config globals 'globals'
option ula_prefix 'fda0:8093:6a4c::/48'
```
- autoriser le trafic IPv6 en entrée. Attention, la configuration ci-dessous autorise absolument tout le trafic IPv6 pour toutes les machines du réseau local. Vous pouvez être plus fin si nécessaire.
Dans `/etc/config/firewall`, rajouter le bloc suivant :
```
config forwarding
option src wan
option dest lan
option family ipv6
```
- définir un nom d'hôte pour le routeur, par exemple `gw-<nom du site>`. Ça se passe dans `/etc/config/system`
- rebooter le routeur pour être sûr d'appliquer tous les changements
## Configuration UPnP
C'est le plus gros morceau.
- installer le serveur UPnP (ici pour un OpenWrt récent qui utilise nftables et non iptables) :
```bash
opkg update
opkg install miniupnpd-nftables
```
- configurer le serveur UPnP, ça se passe dans `/etc/config/upnpd` :
- mettre `option enabled` à `1`
- mettre `option enable_natpmp` à `0` (pas besoin pour Deuxfleurs)
- mettre `option log_output` à `1` (pour faciliter le debug)
- dans le premier bloc `perm_rule`, mettre `ext_ports` et `int_ports` à `'0-65535'` (autoriser à mapper tous les ports)
- dans ce meme bloc, mettre la plage d'adresse IP des machines Deuxfleurs dans `int_addr`, par exemple `192.168.5.0/24` (pour éviter que d'autres machines n'utilisent UPnP)
- redémarrer le service UPnP : `/etc/init.d/miniupnpd restart`
Il est également nécessaire de changer le port utilisé par LuCI (l'interface web d'OpenWrt), sinon cela empechera de mapper les ports 80 et 443 vers Tricot.
Il faut veiller à choisir un port qui n'est utilisé par aucun service de Deuxfleurs. Ici, on choisit 65080 en HTTP et 65443 en HTTPS.
- ouvrir `/etc/config/uhttpd`
- sur les lignes `listen_http`, changer `80` par `65080`
- sur les lignes `listen_https`, changer `443` par `65443`
- redémarrer le service : `/etc/init.d/uhttpd restart`
Une fois cette configuration effectuée, pour accéder à l'interface web du routeur, il faut aller sur `http://192.168.X.Y:65080`.
## Debug UPnP
Pour cela, il faut d'abord avoir un diplonat lancé par Nomad sur une machine du site.
Pour voir si le serveur UPnP reçoit bien les requetes de diplonat, afficher les logs OpenWrt avec `logread -f`.

View file

@ -0,0 +1,19 @@
---
title: "Installer un site"
description: "Installer un site géographique"
date: 2024-05-30
dateCreated: 2024-05-30
weight: 19
extra:
parent: 'operations/_index.md'
---
# Déployer un nouveau site géographique pour l'infrastructure Deuxfleurs
Dans un *site géographique*, on installe une *grappe d'ordinateurs* au sein d'un *réseau local*, qu'on connecte au cluster de Deuxfleurs.
Rajouter un nouveau site pour l'infrastructure Deuxfleurs est une opération qui demande de nombreuses étapes et peut avoir un fort impact sur la production.
Avant de se lancer, il faut en parler aux autres admins et [s'assurer qu'on remplit les prérequis](@/operations/prérequis-site.md).
Pour le réseau, nous avons un [guide de configuration de routeur sous OpenWrt](@/operations/site-openwrt.md)

View file

@ -7,17 +7,46 @@ extra:
parent: 'operations/_index.md'
---
# Métriques
Grafana est accessible à l'adresse suivante : https://grafana.deuxfleurs.fr
Vous pouvez obtenir le mot de passe admin en allant le chercher dans consul KV
# Journaux
Les journaux ne sont pas centralisés aujourd'hui.
Vous pouvez les consulter avec `docker logs`, `nomad` et `journalctl`.
# Alertes
# Métriques
Nous n'avons pas de système d'alerte aujourd'hui.
Grafana est accessible à l'adresse suivante : https://grafana.deuxfleurs.fr
La connexion est possible avec ses identifiants Guichet (via LDAP).
Pour les admins, il est aussi possible d'utiliser le mot de passe admin en allant le chercher dans Consul KV.
Les dashboards ne sont pour l'instant pas stockés dans un dépot git, ils sont édités manuellement dans l'interface de Grafana.
Il y a également une instance Grafana de staging, sans intégration LDAP/Guichet : https://grafana.staging.deuxfleurs.org
# Supervision et alerting externe
Nous avons un système de supervision externe, accessible à l'adresse <https://status.deuxfleurs.fr>.
Il s'agit d'une instance de [Uptime Kuma](https://github.com/louislam/uptime-kuma), hébergée gracieusement par [RésiLien](https://resilien.fr/).
Son but est de vérifier le bon fonctionnement des services exposés publiquement par Deuxfleurs : sites web statiques, services web (cryptpad, jitsi, plume), email, ainsi que l'API S3 de Garage.
Pour rajouter des services à surveiller ou configurer des envois d'alertes, les identifiants de connexion sont dans le [dépôt des secrets](@/operations/pass.md).
# Alerting interne
Nous ne disposons actuellement pas de supervision interne complète avec envoi d'alertes.
Une telle supervision interne serait complémentaire à la supervision externe : elle permettrait de détecter des problèmes en amont qui ne sont pas forcément encore visibles sur les services.
Par exemple, Garage tolère la panne d'une zone sans impacter le service, il est donc facile de ne pas se rendre compte de la panne ... jusqu'à ce qu'une deuxième panne arrive !
Les éléments suivants seraient pertinents à surveiller :
- système : espace disque, état SMART des disques, charge I/O
- connectivité : connectivité interne Wireguard, IPv6
- état du cluster Garage (perte d'une zone ou d'un noeud)
- état du cluster Nomad
- état du cluster Consul
- état du cluster Stolon
- état des backups
- crash dans le catalog consul / les allocs nomad

View file

@ -73,4 +73,4 @@ envoyer des gens s'y référer
- <https://jitsi.deuxfleurs.fr> - outil de visioconférence
- <https://pad.deuxfleurs.fr> - pads et autres outils collaboratifs avec CryptPad
- <https://plume.deuxfleurs.fr> - plateforme de blog fédérée
- <https://garage.deuxfleurs.fr> - plateforme d'hébergement de site web (voir documentation)
- <https://garagehq.deuxfleurs.fr> - plateforme d'hébergement de site web (voir documentation)

View file

@ -12,22 +12,38 @@ Si vous souhaitez vous créer un blog, vous allez probablement avoir un site web
### Choisir un générateur et un thème
Il existe de nombreux générateurs de sites statiques. On peut citer [Hugo](https://gohugo.io/), [Jekyll](https://jekyllrb.com/), [Zola](https://www.getzola.org/), et bien d'autres... En général, ils se ressemblent beaucoup. À titre indicatif, pour ce guide, nous utilisons Zola. Nous baserons nos exemples sur lui. Si votre système d'exploitation est Linux, cherchez dans votre gestionnaire de paquet si vous trouvez l'un d'entre eux. Zola est ainsi facilement installable sur Arch, Ubuntu, et Fedora.
On peut séparer **deux types de générateurs de site web statique** :
Une fois un générateur de site statique installé, rendez-vous sur le site officiel de celui-ci pour choisir un thème. Chez Zola, il faut aller [sur leur galerie](https://www.getzola.org/themes/). Si vous cliquez sur l'un d'entre eux, vous aurez des instructions sur comment l'installer. Il s'agit souvent de télécharger le thème dans le dossier correspondant à votre site, et de modifier le fichier `config.toml`, nécessaire pour Zola, afin de sélectionner le thème.
- Ceux qui demandent une bonne expertise en informatique (en **ligne de commande**) : [Hugo](https://gohugo.io/), [Jekyll](https://jekyllrb.com/), [Zola](https://www.getzola.org/), et bien d'autres... En général, ils se ressemblent beaucoup. À titre indicatif, pour ce guide, nous utilisons Zola. Nous baserons nos exemples sur lui. Si votre système d'exploitation est Linux, cherchez dans votre gestionnaire de paquet si vous trouvez l'un d'entre eux. Zola est ainsi facilement installable sur Arch, Ubuntu, et Fedora.
### Décrire le contenu
- Ceux qui sont accessibles aux non-spécialistes (avec une **interface graphique**) : [Publii](https://getpublii.com/), [Scribouilli](https://scribouilli.org/), [Zim](https://zim-wiki.org/)... Il s'agit alors d'installer un logiciel (le générateur) sur son ordinateur, qui va nous permettre de fabriquer notre site. Ledit générateur peut ensuite publier notre site et ses modifications sur Internet -- ou alors il faut le faire à la main.
Pour écrire le contenu de vos pages, ou de vos billets de blog par exemple, il vous faudra utiliser la syntaxe Markdown. Rassurez-vous, elle a été pensée pour être très simple et peut-être apprise en quelques minutes. Voici un exemple :
**Et le thème ?**
Chaque générateur de site statique propose des thèmes graphiques, pour donner à votre site une apparence unique.
Par exemple; pour Zola, il faut aller [sur leur galerie](https://www.getzola.org/themes/). Si vous cliquez sur l'un d'entre eux, vous aurez des instructions sur comment l'installer. Il s'agit souvent de télécharger le thème dans le dossier correspondant à votre site, et de modifier le fichier `config.toml`, nécessaire pour Zola, afin de sélectionner le thème.
## Fonctionnement des générateurs en ligne de commande
On détaille l'utilisation d'un générateur en ligne de commande, en prenant l'exemple de Zola.
### Rédiger du contenu avec le langage Markdown
Les éditeurs en ligne de commande vous proposent généralement d'écrire les pages et billets de blogs de votre site dans un langage plus simple que HTML. C'est souvent Markdown.
Rassurez-vous, il a été pensé pour être très simple et peut-être appris en quelques minutes. Voici un exemple :
```
# Ceci est le titre principal
## Ceci est un sous-titre
Ceci est du texte tout à fait normal. *Cette partie-ci du texte sera en italique*. **Cette partie-là sera en gras**.
## Ceci est encore un sous-titre
### Ceci est un sous-sous-titre
Voici du texte pour introduire la liste à puce qui va suivre :
* première élément de la liste
* second élément de la liste
* troisième élément de la liste
@ -37,7 +53,7 @@ Quand on écrit du texte sans mettre quoi que ce soit autour ou avant, cela devi
Une fois votre fichier écrit, enregistrez-le avec l'extension `.md`, par exemple sous le nom `recette-tartre-au-citron.md`. L'idée est qu'à chaque page de votre site correspond un fichier `.md`, et ceux-ci seront regroupés dans un dossier. Vous trouverez [dans notre forge](https://git.deuxfleurs.fr/Deuxfleurs/guide.deuxfleurs.fr/src/branch/main/content) les fichiers Markdown écrits pour faire ce guide.
Cependant, il reste juste une petite chose à faire lorsque vous avez fini votre texte : écrire l'en-tête au dessus du markdown, qui donnera au générateur des informations importantes sur ce contenu. On encadre cet en-têtre avec trois signes plus. Voici un exemple basé sur cette page :
Cependant, il reste juste une petite chose à faire lorsque vous avez fini votre texte : écrire l'en-tête au dessus du markdown, qui donnera au générateur des informations importantes sur ce contenu. On encadre cet en-tête avec trois signes plus. Voici un exemple basé sur cette page :
```
---
@ -47,6 +63,7 @@ date: 2022-09-01
---
# Titre
Texte de la page...
```

View file

@ -2,7 +2,7 @@
title: "aws-cli"
description: "Publier avec aws-cli"
date: 2022-09-01
weight: 1
weight: 20
extra:
parent: "prise_en_main/publier-le-contenu.md"
---
@ -16,7 +16,7 @@ Vous pouvez installer `aws` :
- soit via les paquets fournis par votre distribution (par ex. [Ubuntu](https://snapcraft.io/aws-cli) ou [Fedora](https://packages.fedoraproject.org/pkgs/awscli2/awscli2/))
- soit en suivant les instructions sur [le site officiel d'Amazon](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
Une fois `aws` installé sur votre machine, vous pouvez suivre les instructions de connexion indiquées sur [le guichet](https://guichet.deuxfleurs.fr/website/configure#). Cliquez sur le lien "`awscli`" dans la section "Confgurez votre logiciel" pour afficher les instructions.
Une fois `aws` installé sur votre machine, vous pouvez suivre les instructions de connexion indiquées sur [le guichet](https://guichet.deuxfleurs.fr/website/configure#). Cliquez sur le lien "`awscli`" dans la section "Configurez votre logiciel" pour afficher les instructions.
### Configurer la page par défaut et celle pour les erreurs
Puisqu'on est sur la configuration S3, profitons-en pour paramétrer une page d'accueil et une page d'erreur.

View file

@ -13,7 +13,7 @@ D'abord, rendez-vous dans votre espace utilisateur Gandi, puis de là cliquez da
![dns1.png](/img/apex_gandi_1.png)
Une fois sur la page «Nom de domaines», votre nom de domaine devrait apparaitre dans la liste, ici «camille-michu.fr». Cliquez dessus :
Une fois sur la page «Nom de domaines», votre nom de domaine devrait apparaître dans la liste, ici «camille-michu.fr». Cliquez dessus :
![dns2.png](/img/apex_gandi_2.png)

View file

@ -13,7 +13,7 @@ Vous pouvez utiliser Deuxfleurs pour synchroniser vos contacts et vos calendrier
Sur [https://sogo.deuxfleurs.fr/](https://sogo.deuxfleurs.fr/), vous pouvez accéder à vos e-mails, mais aussi à un onglet Calendrier et à un onglet Contacts.
Ce sont ces deux listes qu'on peut synchroniser avec votre téléphone.
## Configuration sur téléphone Android
## Sur téléphone Android
Pour que votre téléphone discute avec notre infrastructure, on recommande d'installer l'application libre [DAVx5](https://www.davx5.com/).
Elle est disponible sur le Play Store, ou mieux, sur [F-Droid](https://f-droid.org/) (un magasin d'applications libres).
@ -35,3 +35,26 @@ Désormais, si vous voulez ajouter un contact, vous pourrez sélectionner votre
### Calendrier
Similairement, c'est dans votre application d'agenda que vous allez pouvoir afficher le calendrier Deuxfleurs et y ajouter des événements.
## Sur ordinateur
### Calendrier
Sur le client e-mail **Mozilla Thunderbird**, pour accéder en lecture & écriture à votre agenda, vous devez :
* vous rendre dans l'onglet Agenda, cliquer sur « Nouvel agenda », et sélectionner « Sur le réseau ». On demande alors deux informations :
* `Nom d'utilisateur` : renseignez votre adresse e-mail complète,
* `Adresse` : vous l'obtiendrez en vous connectant à [SoGO](https://sogo.deuxfleurs.fr), onglet « Agenda », cliquez sur les 3 points verticaux à droite de votre agenda dans le menu de gauche, puis « Liens vers cet agenda ».
Prenez le premier lien : « Accès aux utilisateurs authentifiés > Accès en CalDAV ».
Chez moi, cela donne (remplacez bien `MON_PSEUDO` par votre nom d'utilisateur !) :
http://sogo.deuxfleurs.fr/SOGo/dav/MON_PSEUDO/Calendar/personal/
* De retour dans Thunderbird, on peut cliquer sur « Rechercher des agendas ».
* On vous demande alors votre mot de passe (celui de votre compte Deuxfleurs).
* Vous devriez alors voir votre agenda apparaître. Il ne reste qu'à cliquer sur « S'abonner » !

View file

@ -0,0 +1,45 @@
---
title: "Hugo"
description: "Publier un site web sur Deuxfleurs avec Hugo"
weight: 10
extra:
parent: 'prise_en_main/publier-le-contenu.md'
---
Configurez le fichier `~/.aws/credentials` de la manière suivante avec votre
identifiant de clef (`GKxxxx`) et votre clef secrète (`xxxxxx`), que vous
pouvez récupérer depuis [le
guichet](https://guichet.deuxfleurs.fr/website/configure#):
```ini
[default]
aws_access_key_id = GKxxxxxx
aws_secret_access_key = xxxxxxxx
```
Ensuite, ajoutez les lignes suivantes dans le fichier `config.toml` du dossier
de votre site web utilisé par Hugo:
```toml
[deployment]
order = [".jpg$", ".gif$", ".png$"]
[[deployment.targets]]
name = "deuxfleurs"
URL = "s3://votresiteweb.fr&endpoint=garage.deuxfleurs.fr&region=garage&s3ForcePathStyle=true"
```
Dans la ligne `URL`, remplacez `votresiteweb.fr` par le nom de domaine que vous souhaitez utiliser.
Une fois la configuration faite, vous pouvez publier votre site web en
exécutant simplement la commande suivante:
```
hugo deploy
```
Pour en savoir plus, consulter la documentation officielle à l'adresse:
* <https://gohugo.io/hosting-and-deployment/hugo-deploy/>

View file

@ -11,11 +11,11 @@ extra:
**Objectif:**
- stocker vos données chez Deuxfleurs et les faire apparaître dans votre navigateur de fichier comme un disque réseau, ce qui vous permet d'y accéder comme à des fichiers normaux.
- optionnellement, ajouter une couche de chiffrement afin que vos fichiers ne soient pas stockés en clair sur les serveurs de Deuxfleurs.i
- optionnellement, ajouter une couche de chiffrement afin que vos fichiers ne soient pas stockés en clair sur les serveurs de Deuxfleurs.
**Attention:** ce tutoriel vous permet d'accéder à un dossier partagé depuis plusieurs machines. Cependant, Garage n'est pas capable de gérer l'édition en simultané d'un document depuis plusieurs lieux différents. Avec la méthode présentée ici, **ne modifiez jamais un fichier stocké sur Garage depuis plusieurs ordinateurs en même temps: vous pourriez perdre des données!**
**En cas de problème avec ce tutoriel:** rappporter votre souci sur le chan Matrix `#tech:deuxfleurs.fr` ou directement par mail à `alex [at] adnab.me`.
**En cas de problème avec ce tutoriel:** rapporter votre souci sur le chan Matrix `#tech:deuxfleurs.fr` ou directement par mail à `alex [at] adnab.me`.
## 1. Obtenir des clefs d'accès Garage
@ -57,7 +57,7 @@ $ rclone lsd grgdf:
$
```
Ce résultat indique que vous disposez d'un bucket (un dossier de premier niveau) sur le stockage, ici appellé `alex.perso`. Celui-ci a été créé par un administrateur et vous ne pouvez pas en créer d'autre vous-même. Retenez son nom pour l'étape suivante.
Ce résultat indique que vous disposez d'un bucket (un dossier de premier niveau) sur le stockage, ici appelé `alex.perso`. Celui-ci a été créé par un administrateur et vous ne pouvez pas en créer d'autre vous-même. Retenez son nom pour l'étape suivante.
### 2.2. Configurer la couche de chiffrement `rclone`
@ -75,8 +75,8 @@ Pour lancer l'assistant interactif, tapez `rclone config` dans un terminal. Ensu
- Choisissez l'option `encrypt directory names` (option `1`)
- Pour le premier mot de passe, tapez `g` pour `Generate password`.
- Entrez 128 pour la taille du mot de passe.
- Prenoez note du mot de passe affiché et gardez-le en lieu sûr pour être sûr de pouvoir déchiffrer vos données dans le future. Confirmez en tapant `y`
- On vous demande ensuite si vous voulez utiliser un sel personalisé. Tapez `g` pour en créer un automatiquement.
- Prenez note du mot de passe affiché et gardez-le en lieu sûr pour être sûr de pouvoir déchiffrer vos données dans le future. Confirmez en tapant `y`
- On vous demande ensuite si vous voulez utiliser un sel personnalisé. Tapez `g` pour en créer un automatiquement.
- Entrez 128 pour la taille du sel.
- Prenez note également du sel, qui fonctionne comme un second mot de passe. Confirmez en tapant `y`
- Tapez `n` à la question `edit advanced config?`
@ -101,7 +101,7 @@ Pour tester que votre dossier chiffré est bien configuré, vous pouvez par exem
Nous allons maintenant faire en sorte que vos dossiers Garage apparaissent comme des disques réseau montés sur votre système de fichier, ce qui vous permettera d'y accéder depuis votre explorateur de fichier comme s'il s'agissait de dossiers normaux.
Pour commencer, choissez un endroit où monter votre disque réseau. Dans cet exemple, j'utiliserai `$HOME/mnt/grgdf` pour le dossier non chiffré, et `$HOME/mnt/grgdfcrypt` pour le dossier chiffré. Créez ces deux dossier vides:
Pour commencer, choisissez un endroit où monter votre disque réseau. Dans cet exemple, j'utiliserai `$HOME/mnt/grgdf` pour le dossier non chiffré, et `$HOME/mnt/grgdfcrypt` pour le dossier chiffré. Créez ces deux dossier vides:
```bash
mkdir -p $HOME/mnt/grgdf
@ -140,7 +140,7 @@ Pour tester le fonctionnement de votre dossier Garage, vous pouvez naviguer dans
## 4. Configurer une seconde machine pour accéder au dossier
Vous pouvez assez facilement configurer une seconde machine pour accéder au même dossier partagé sur Garage. Pour cela, reprenez le fichier `~/.config/rclone/rclone.conf` de votre premère machine et copiez-le au même endroit sur votre seconde machine. Vous pouvez ensuite réaliser sur votre deuxième machine les étapes mentionnées dans la section 3 pour le service systemd.
Vous pouvez assez facilement configurer une seconde machine pour accéder au même dossier partagé sur Garage. Pour cela, reprenez le fichier `~/.config/rclone/rclone.conf` de votre première machine et copiez-le au même endroit sur votre seconde machine. Vous pouvez ensuite réaliser sur votre deuxième machine les étapes mentionnées dans la section 3 pour le service systemd.
**ATTENTION:** Garage ne supporte pas l'édition simultanée d'un document depuis plusieurs machines. Si vous ouvrez un fichier pour le modifier en même temps sur des machines différentes, **vous prenez le risque de perdre des données**. Pour utiliser votre dossier Garage comme un lieu de travail collaboratif, assurez-vous que des personnes différentes devant modifier un même fichier prendront chacun leur tour bien défini pour le faire.

View file

@ -2,7 +2,7 @@
title: "FileZilla"
description: "Publier avec FileZilla"
date: 2023-09-16
weight: 1
weight: 50
extra:
parent: "prise_en_main/publier-le-contenu.md"
---

View file

@ -16,7 +16,7 @@ De par l'utilisation de son logiciel Garage, Deuxfleurs conserve et sert les sit
* Spécifiez le nom de domaine pour votre site (l'identifiant du site qu'on tape dans la barre URL d'un navigateur pour y accéder) :
* Si vous n'avez pas votre propre nom de domaine, votre site peut être rendu accessible dans un sous-domaine de `web.deuxfleurs.fr`. Dans l'onglet "Je n'ai pas de nom de domaine", entrez le sous domaine de votre choix.
* Si vous avez votre propre nom de domaine, entrez-le dans l'onglet "Utiliser mon propre nom de domaine". Il faudra alors [configurer votre serveur DNS pour pointer sur l'adresse d'hébergement chez DeuxFleurs](@/prise_en_main/mettre-place-DNS.md).
* Cliquez sur "Créer un nouveau site web" pour confirmer la création du bucket dans Garrage.
* Cliquez sur "Créer un nouveau site web" pour confirmer la création du bucket dans Garage.
Pour copier les fichiers du site web dans le bucket et [publier le site web](@/prise_en_main/publier-le-contenu.md), vous aurez besoin des clefs d'accès et des propriétés du bucket accessibles en cliquant sur "Mes identifiants".

View file

@ -33,5 +33,5 @@ Deuxfleurs a une pléthore de salons sur Matrix. C'est vraiment à cet endroit q
* [deuxfleurs::asso](https://matrix.to/#/#deuxfleurs:deuxfleurs.fr) où l'on parle de l'association.
* [deuxfleurs::forum](https://matrix.to/#/#forum:deuxfleurs.fr) où l'on discute beaucoup des questions de numérique et société mais pas que.
* [deuxfleurs::infra](https://matrix.to/#/#tech:deuxfleurs.fr) où l'on parle « techniques » (informatique, notamment).
* [deuxfleurs::usages](https://matrix.to/#/#usages:deuxfleurs.fr) où l'on parle « usages » des serivces fournis par DeuxFleurs: bugs, problèmes, questions, remarques, souhaits, idées.
* [deuxfleurs::usages](https://matrix.to/#/#usages:deuxfleurs.fr) où l'on parle « usages » des services fournis par DeuxFleurs: bugs, problèmes, questions, remarques, souhaits, idées.

View file

@ -10,7 +10,11 @@ extra:
Nous allons désormais verser votre site sur Garage, et ce dernier le servira à toutes les personnes qui voudront le voir. Vous aurez besoin de l'identifiant de votre clé d'accès et de la clé d'accès secrète, obtenus dans la partie «[Initialiser votre accès](@/prise_en_main/initialiser-votre-accès.md)».
Vous avez le choix entre trois méthodes :
Si vous utilisez Hugo, vous pouvez le configurer pour envoyer directement le site sur les serveurs de Deuxfleurs:
* [Publier un site web sur Deuxfleurs avec Hugo](@/prise_en_main/deploiement_hugo.md)
Dans les autres cas, vous avez le choix entre trois méthodes :
* [Faire ça en ligne de commande avec `aws-cli`](@/prise_en_main/aws-cli.md). C'est la méthode la plus habituelle et la plus éprouvée, cependant il faut utiliser le terminal, et être sur linux est grandement conseillé pour celle-ci.
* [Faire ça avec l'utilitaire graphique `rclone`](@/prise_en_main/rclone.md). Cette méthode vous paraîtra peut-être moins intimidante grâce à l'interface graphique du logiciel rclone. Celui-ci tourne sur Linux, Windows, et macOS.
* [Faire ça avec l'utilitaire graphique `winscp`](@/prise_en_main/winscp.md). Cette méthode propose elle également une interface graphique, mais ne fonctionne que sur Windows.

View file

@ -1,7 +1,7 @@
---
title: "Rclone Browser"
description: "Publier avec Rclone Browser"
weight: 2
weight: 30
date: 2021-11-25T14:31:35.570Z
dateCreated: 2021-11-25T14:02:30.997Z
extra:
@ -70,17 +70,17 @@ Cliquez sur "File" (Fichiers) en haut à gauche, puis sur "Preferences...". La f
![rclone-conf2.png](/img/rclone_conf2.png)
Repérez la deuxième ligne intitulée `rclone.conf location:`. Tout au bout de la ligne, cliquez sur le bouton avec les trois points `[...]`. Vous aurez alors la possibilité d'indiquer à Rclone Browser où se trouve le fichier de configuration créé juste avant (pour ma part, je rappelle, "Dossier personnel > Documents > Configuration > rclone.conf", on voit que le chemin complet vers le fichier apparait maintenant dans le champs texte.
Repérez la deuxième ligne intitulée `rclone.conf location:`. Tout au bout de la ligne, cliquez sur le bouton avec les trois points `[...]`. Vous aurez alors la possibilité d'indiquer à Rclone Browser où se trouve le fichier de configuration créé juste avant (pour ma part, je rappelle, "Dossier personnel > Documents > Configuration > rclone.conf", on voit que le chemin complet vers le fichier apparaît maintenant dans le champs texte.
Appuyez sur OK, et la fenêtre principale devrait maintenant ressembler à ça :
![rclone-s3.png](/img/rclone_s3.png)
Cliquez sur "S3 garage" puis cliquez sur "Open". Si vous voyez des dossiers apparaitre, c'est gagné !
Cliquez sur "S3 garage" puis cliquez sur "Open". Si vous voyez des dossiers apparaître, c'est gagné !
![rclone-conn.png](/img/rclone_conn.png)
Vous pouvez maintenant naviguer dans vos dossiers, envoyer des fichiers sur Garage ou en récupérer. Attention, vous ne pouvez pas créer de "nouveaux dossiers" à la racine, mais vous pouvez créer des sous-dossiers dans les dossiers existants pré-alablement créés pour vous.
Vous pouvez maintenant naviguer dans vos dossiers, envoyer des fichiers sur Garage ou en récupérer. Attention, vous ne pouvez pas créer de "nouveaux dossiers" à la racine, mais vous pouvez créer des sous-dossiers dans les dossiers existants préalablement créés pour vous.
# Utiliser comme un drive

View file

@ -24,6 +24,7 @@ Vous en avez marre de faire toute votre communication associative via Facebook ?
- [www.osuny.org](https://www.osuny.org/) - _Osuny est une solution technique spécialement conçue pour les universités, laboratoires de recherches et écoles supérieures permettant de créer des sites Web entièrement personnalisés, les plus sobres, les plus accessibles et les plus sécurisés possibles_.
- [giraud.eu](https://giraud.eu) - _Site d'un ingénieur en informatique_
- [anneprudhomoz.fr](https://anneprudhomoz.fr) - _De la terre, du fer, de l'eau, beaucoup de feu, un peu d'huile, encore du béton et du plâtre ! ... sans oublier le crayon à papier et les carnets._
- [courderec.re](https://courderec.re) - _Groupe de musique. De la pop synthé qui décoiffe._
- [colineaubert.com](https://colineaubert.com) - _D'un côté graphiste, illustratrice et conceptrice d'outils pédagogiques, je mets en images et en mots différents sujets scientifiques et culturels._
- [estherbouquet.com](https://estherbouquet.com) - _Esther Bouquet questions how narratives—both historical and literary—are being built by creating tangible experiences ranging from the size of the sheet of paper to the volume of a space; somewhere between writing, archiving, drawing, designing, and programming._
- [quentin.dufour.io](https://quentin.dufour.io) - _Portfolio et blog d'un ingénieur en informatique_

View file

@ -2,7 +2,7 @@
title: "WebDAV"
description: "Publier via un gestionnaire de fichiers avec WebDAV"
date: 2023-09-16
weight: 1
weight: 60
extra:
parent: "prise_en_main/publier-le-contenu.md"
---

View file

@ -1,7 +1,7 @@
---
title: "WinSCP"
description: "Publier avec WinSCP"
weight: 3
weight: 40
extra:
parent: 'prise_en_main/publier-le-contenu.md'
---
@ -17,7 +17,7 @@ Installez le logiciel.
# Configuration
Lancez le. La fenêtre de connexion suivante devrait apparaitre :
Lancez le. La fenêtre de connexion suivante devrait apparaître :
![](/img/winscp_login.png)
@ -43,7 +43,7 @@ Vous voilà de retour sur la fenêtre de connexion :
1. Cliquez sur *Sauver* (cliquez bien sur le texte et non sur la flèche noire à droite)
La fenêtre suivante apparait :
La fenêtre suivante apparaît :
![](/img/winscp_session.png)

View file

@ -8,7 +8,7 @@ extra:
Le calendrier des événements internes et externes de l'association hébergé par [SoGO](https://sogo.deuxfleurs.fr/SOGo/).
Tous les clients mails disposant d'un agenda devraient vous permettre d'afficher l'agenda Deuxfleurs d'une des trois suivantes.
Tous les clients mails disposant d'un agenda devraient vous permettre d'afficher l'agenda Deuxfleurs d'une des trois façons suivantes.
Sur SoGO, il faut se rendre sur l'onglet « Agenda ».
Sur le panneau de gauche, de cliquer sur le « + » (plus) en face de « Calendriers web », de renseigner l'adresse CalDAV ci-dessous (authentifié au non), et éventuellement de rentrer vos identifiants Deuxfleurs.

View file

@ -156,14 +156,14 @@ Alternatifs, Transparents, Ouverts, Neutres et Solidaires dans le cadre
de son activité d'hébergeur et de fourniture de services en ligne.
Plus d'information sur la charte C.H.A.T.O.N.S. :
[chatons.org/fr/charte](https://chatons.org/fr/charte)
[chatons.org/charte](https://chatons.org/charte)
### Localisation des données
Vos données sont localisées en France et en Belgique, sur les serveurs
de nos membres. Un détail complet de l\'infrastructure et de
l\'emplacement des données par service est disponible sur notre
page [Infrastructure](https://wiki.deuxfleurs.fr/Technique/Infra).
page [Infrastructures](https://guide.deuxfleurs.fr/infrastructures/machines/#zones).
### Devenir des données

View file

@ -12,7 +12,7 @@ Les seconds, en plus d'utiliser nos services, participent aux discussions, déci
# Usager·es
> **L'usage de nos services est conditionné au respect de <a href="https://deuxfleurs.fr/CGU.html" target="_black">nos conditions générales d'utilisation (CGU)</a>.** Les lire et les accepter est un préalable à toute demande.
> **L'usage de nos services est conditionné au respect de <a href="/vie_associative/cgu/" target="_black">nos conditions générales d'utilisation (CGU)</a>.** Les lire et les accepter est un préalable à toute demande.
Vous êtes un particulier ou un collectif, et souhaitez utiliser <a href="/prise_en_main/" target="_blank">nos services</a>.
Certains sont en accès libre (à date d'écriture : la suite bureautique et la visioconférence).
@ -21,11 +21,16 @@ Deuxfleurs ne s'engage pas à fournir de support ou de développement spécifiqu
* **Nous contacter :** Par e-mail à l'adresse `coucou[@]deuxfleurs.fr`, en discussion directe sur <a href="https://matrix.to/#/#deuxfleurs:deuxfleurs.fr" target="_blank">notre salon Matrix `#deuxfleurs:deuxfleurs.fr`</a> ou directement _via_ un membre (voir <a href="https://deuxfleurs.fr/#connaissance" target="_blank"> notre agenda</a>).
* **Prix :** Libre et conscient, conseillé à 15€/an.<br>
Payable par virement bancaire (notre RIB vous sera fourni) ou _via_ un membre.<br>
**Le libellé du virement** doit être de la forme : `Cotisation usage <nom ou pseudo> <année>`.
* **Prix :** Libre et conscient, conseillé à 15€/an.
Nous estimons que si les usager·es payent 15€/an, iels remboursent leur occupation de notre infrastructure. _Payez ce que vous pouvez._ Personne ne vous en voudra si vous n'avez pas la capacité financière de contribuer. À l'inverse, si vous donnez plus, vous participez à l'hébergement des moins fortuné·es, et à notre viabilité économique (merci !).
Trois moyens de paiement sont disponibles :
- Via [HelloAsso](https://www.helloasso.com/associations/deuxfleurs/adhesions/prix-libre-compte-utilisateur-deuxfleurs), de préférence.
- Par virement bancaire (vous pouvez demander notre RIB à l'adresse `ca@deuxfleurs.fr`).
Le libellé du virement doit être de la forme : `Cotisation usage <nom ou pseudo> <année>`.
- Via un membre, en espèces, en présentiel.
Nous estimons que si les usager·es payent 15€/an, iels remboursent leur occupation de notre infrastructure. _Payez ce que vous pouvez._ Personne ne vous en voudra si vous n'avez pas la capacité financière de contribuer. À l'inverse, si vous donnez plus, vous participez à l'hébergement des moins fortuné·es, et à notre viabilité économique (merci !).
> À l'avenir, nous souhaiterions lancer un appel annuel à cotisation, détaillant nos recettes et nos dépenses, pour aligner le prix conseillé sur nos objectifs annuels. En attendant, nos rapports financiers sont accessibles dans <a href="/vie_associative/ag/" target="_blank">nos comptes-rendus d'AG</a>, et le prix conseillé est fixe.
>
@ -40,7 +45,7 @@ Deuxfleurs ne s'engage pas à fournir de support ou de développement spécifiqu
> **A noter pour les membres :** *Vous prenez la responsabilité des personnes que vous invitez sur notre infrastructure.* Tout « doute raisonnable » de votre part doit mener à une discussion collective avant acceptation.
* **Rupture de l'accord :** En cas de violation des <a href="https://deuxfleurs.fr/CGU.html" target="_black">CGU</a>.
* **Rupture de l'accord :** En cas de violation des <a href="/vie_associative/cgu/" target="_black">CGU</a>.
# Membres
@ -55,9 +60,14 @@ Une fois membre, vous serez invité·e à participer à tous nos débats et renc
* **Nous contacter :** Par e-mail à l'adresse `coucou[@]deuxfleurs.fr`, en discussion directe sur <a href="https://matrix.to/#/#deuxfleurs:deuxfleurs.fr" target="_blank">notre salon Matrix `#deuxfleurs:deuxfleurs.fr`</a> ou directement _via_ un membre (voir <a href="https://deuxfleurs.fr/#connaissance" target="_blank"> notre agenda</a>).
* **Prix :** Fixe, de 10€/an.<br>
Payable par virement bancaire (notre RIB vous sera fourni) ou _via_ un membre.<br>
**Le libellé du virement** doit être de la forme : `Cotisation membre <nom ou pseudo> <année>`.
* **Prix :** Fixe, de 10€/an.
Trois moyens de paiement sont disponibles :
- Via [HelloAsso](https://www.helloasso.com/associations/deuxfleurs/), de préférence.
- Par virement bancaire (vous pouvez demander notre RIB à l'adresse `ca@deuxfleurs.fr`).
Le libellé du virement doit être de la forme : `Cotisation membre <nom ou pseudo> <année>`.
- Via un membre, en espèces, en présentiel.
* **Admission :** Par _cooptation_. Tous les membres de l'association sont informés de votre demande, et peuvent formuler une objection.
@ -74,4 +84,4 @@ Une fois membre, vous serez invité·e à participer à tous nos débats et renc
---------
<a href="https://pad.deuxfleurs.fr/pad/#/2/pad/view/d4whN7WSzObRabvWq3gV6AcUGKoqR280rMIksLnXWQc/" target="_blank">Notes détaillées de la réunion du 06/10/22</a> ayant menée à la séparation des deux statuts d'usager·es et de membre.
<a href="https://pad.deuxfleurs.fr/pad/#/2/pad/view/d4whN7WSzObRabvWq3gV6AcUGKoqR280rMIksLnXWQc/" target="_blank">Notes détaillées de la réunion du 06/10/22</a> ayant menée à la séparation des deux statuts d'usager·es et de membre.