Ajout pages oubliées
This commit is contained in:
parent
e69ee6ab7c
commit
8a50295aa8
16 changed files with 447 additions and 5 deletions
8
content/infrastructures/logiciels/_index.md
Normal file
8
content/infrastructures/logiciels/_index.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
+++
|
||||||
|
title = "Logiciels"
|
||||||
|
description = "Logiciels"
|
||||||
|
weight = 90
|
||||||
|
sort_by = "weight"
|
||||||
|
+++
|
||||||
|
|
||||||
|
Cette section recense les logiciels développés par Deuxfleurs pour les besoins spécifiques de son infra.
|
19
content/infrastructures/logiciels/bottin.md
Normal file
19
content/infrastructures/logiciels/bottin.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
title: Bottin
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2021-11-09T12:40:01.746Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2021-11-09T12:39:59.725Z
|
||||||
|
weight: 10
|
||||||
|
---
|
||||||
|
|
||||||
|
# Bottin
|
||||||
|
|
||||||
|
Bottin est un annuaire LDAP distribué développé en Go visant la simplicité d'installation et d'utilisation (comparé à des solutions comme OpenLDAP ou Keycloak) tout en offrant la résilience que l'on peut attendre d'un système d'authentification. Il se base pour le stockage distribué sur [Consul](https://www.consul.io/).
|
||||||
|
|
||||||
|
## Statut du développement
|
||||||
|
|
||||||
|
Bottin est actuellement utilisé en production pour deuxfleurs. Il est cependant toujours en développement actif.
|
||||||
|
Le code de Bottin se trouve ici : <https://git.deuxfleurs.fr/Deuxfleurs/bottin>
|
7
content/infrastructures/logiciels/conception/_index.md
Normal file
7
content/infrastructures/logiciels/conception/_index.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
+++
|
||||||
|
title = "Conception"
|
||||||
|
description = "Conception"
|
||||||
|
weight = 90
|
||||||
|
+++
|
||||||
|
|
||||||
|
Cette section recense les principes de conception que Deuxfleurs applique pour les logiciels qu'elle développe.
|
89
content/infrastructures/logiciels/conception/vie_privee.md
Normal file
89
content/infrastructures/logiciels/conception/vie_privee.md
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
---
|
||||||
|
title: Vie Privée
|
||||||
|
description: Comment mettre en oeuvre des systèmes prenant en compte la vie privée à leur origine ?
|
||||||
|
published: true
|
||||||
|
date: 2021-11-18T13:57:51.695Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2021-11-18T10:42:00.744Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Vie privée
|
||||||
|
|
||||||
|
Que ce soit à l'intérieur ou l'extérieur de l'association, des demandes pour d'avantage de garanties sur la vie privée ont été formulées.
|
||||||
|
|
||||||
|
## Propriétés recherchées
|
||||||
|
|
||||||
|
Quelques propriétés en vrac qu'on peut, ou ne pas, désirer :
|
||||||
|
|
||||||
|
### Messagerie instantanée
|
||||||
|
|
||||||
|
- 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.)
|
||||||
|
|
||||||
|
### 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,
|
||||||
|
|
||||||
|
### 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.)
|
||||||
|
|
||||||
|
## Attaquants
|
||||||
|
|
||||||
|
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)
|
||||||
|
- Opérateur Internet (eg. Orange)
|
||||||
|
- Regroupement d'opérateurs internet (cf "Tor netflow")
|
||||||
|
- Personne externe via internet (eg. hacker)
|
||||||
|
- Personne externe physique (eg. voleur)
|
||||||
|
- Regroupement d'acteurs (eg. opérateurs internet, externe physique ET internet)
|
||||||
|
- Utilisateurs (eg. pas de chiffrement sur son téléphone)
|
||||||
|
|
||||||
|
## Un exemple de ce qu'on pourrait faire
|
||||||
|
|
||||||
|
Prenons l'exemple de la messagerie instantanée. Pour l'instant, on peut définir les types de réseaux suivants :
|
||||||
|
|
||||||
|
- centralisé, pas chiffré (Messenger)
|
||||||
|
- centralisé, chiffé de bout en bout (avec toute une gamme d'implems, la meilleure étant peut-être Signal)
|
||||||
|
- fédéré, pas chiffré (E-mail, IRC, XMPP sans omemo, Matrix sans E2EE)
|
||||||
|
- fédéré, chiffré (XMPP + Omemo, Matrix + E2EE)
|
||||||
|
- distribué, chiffré (Tox, Retroshare)
|
||||||
|
- distribué avec des mécanisme d'anonymat fort (Freenet, Mix networks, ...)
|
||||||
|
|
||||||
|
Seule la dernière catégorie s'adresse au cas d'un "global passive attacker". On peut imaginer d'abandonner l'idée d'avoir une protection très efficace contre ce dernier car ça serait très contraignant sur le design et l'utilisabilité, et les cas où on en aurait vraiment besoin sont des cas particuliers où on peut faire l'effort d'utiliser une solution adaptée.
|
||||||
|
|
||||||
|
Pour le "grand public", passer sur des solutions fédérés chiffrés c'est un très bon début et si on arrive déjà à passer des gens sur Matrix, c'est très bien. Ceci dit, il y a quand même une faille majeure dans ces systèmes, c'est l'existence de serveurs qui centralisent des quantités plus ou moins importantes de (méta)données : il suffit que n'importe lequel soit compromis pour que toutes ces données soient exfiltrées, global passive attacker ou non. En ce qui nous concerne chez Deuxfleurs, le danger est exacerbé car on veut faire de la réplication sur plusieurs noeuds chez plusieurs personnes, donc autant d'opportunités d'avoir une sécu pétée à un endroit ou un autre.
|
||||||
|
|
||||||
|
Une marche à franchir qui pourrait être désirable pour nous, ça serait donc de faire en sorte que les serveurs aient le moins de visibilité possible sur ce qui se passe dans le réseau. Dans un système "distribué chiffré" on n'a plus de serveurs donc le problème n'existe pas, le seul danger qui reste est la possibilité de compromettre le périphérique utilisateur directement (et on sait par ailleurs que c'est possible, mais c'est pas quelque chose sur lequel on peut agir nous). Par contre les systèmes 100% distribués ne sont pas utilisables efficacement sur mobile car ils pompent la batterie, d'où l'idée de vouloir faire une approche hybride où des serveurs pourraient jouer un rôle mais avec des protocoles prévus d'une manière à ce qu'ils ne voient passer et ne stockent qu'un minimum de données en clair.
|
||||||
|
|
||||||
|
Un autre problème, c'est que dans un modèle totalement distribué se pose la question de qui gère la résilience du service et des données ? Comment tu développes un logiciel distribué qui ne perd pas de données (bitcoin n'est pas une réponse valable) ?
|
||||||
|
|
||||||
|
On peut globalement diviser les approches en deux :
|
||||||
|
|
||||||
|
1. Définir des nouveaux protocoles client/serveur qui minimisent les métadonnées lisibles par les serveurs
|
||||||
|
|
||||||
|
2. Rester dans le cadre des protocoles standards (IMAP, WebDav, ...), et faire une implem où les serveurs stockent le plus possible de données chiffrées (y compris toutes les métadonnées), et ont le moins souvent possible accès à la donnée en clair.
|
||||||
|
|
||||||
|
La première approche est intéressante, mais elle implique de remplacer tout l'écosystème. Ça peut être un projet de recherche intéressant, mais on ne veut pas forcément en faire le projet prioritaire de Deuxfleurs.
|
||||||
|
|
||||||
|
Concernant la seconde approche, celle-ci semble beaucoup plus à notre portée :
|
||||||
|
|
||||||
|
- Par exemple dans une architecture de cluster à-la-Deuxfleurs, on pourrait différencier les lieux où on stocke les données en fonction du niveau de privacy : par exemple seuls les serveurs chez X seraient habilités à déchiffrer le contenu pour le servir sur des protocoles standards (S3, IMAP, Matrix), et les serveurs chez les autres seraient uniquement là pour stocker de la donnée entièrement chiffré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.
|
||||||
|
|
||||||
|
## Ressources
|
||||||
|
|
||||||
|
- https://about.psyc.eu/Federation et https://about.psyc.eu/PSYC2
|
||||||
|
- Définition d'un mixnet : https://www.youtube.com/watch?v=dQtk0NcTseg
|
18
content/infrastructures/logiciels/diplonat.md
Normal file
18
content/infrastructures/logiciels/diplonat.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
title: Diplonat
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2021-11-09T12:42:17.716Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2021-11-09T12:42:15.729Z
|
||||||
|
weight: 30
|
||||||
|
---
|
||||||
|
|
||||||
|
# Diplonat
|
||||||
|
|
||||||
|
Diplonat est un utilitaire qui facilite l'hébergement de services dans un environnement réseau dynamique. Le cas le plus commun est lorsqu'il faut exposer un serveur situé dans un sous-réseau domestique, derrière un routeur souvent fourni par un FAI grand public. Diplonat aide alors à gérer les règles NAT de la passerelle, les règles de pare-feu du serveur lui-même, et potentiellement l'enregistrement DNS pour qu'il suive l'IP dynamique du sous-réseau.
|
||||||
|
|
||||||
|
## Status du développement
|
||||||
|
|
||||||
|
Diplonat est en développement, le code est versionné ici : <https://git.deuxfleurs.fr/Deuxfleurs/diplonat>. Il est exploité dans le cadre des activités de deuxfleurs.
|
43
content/infrastructures/logiciels/garage.md
Normal file
43
content/infrastructures/logiciels/garage.md
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
---
|
||||||
|
title: Garage
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2021-11-09T12:42:59.273Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2021-11-09T12:42:57.245Z
|
||||||
|
weight: 40
|
||||||
|
---
|
||||||
|
|
||||||
|
# Garage
|
||||||
|
|
||||||
|
Garage est un utilitaire de stockage d'objets léger, distribué, et compatible avec l'interface Amazon S3. Il poursuit les objectifs suivants :
|
||||||
|
|
||||||
|
* être aussi autonome que possible
|
||||||
|
* être facile à installer
|
||||||
|
* demeurer robuste face aux pannes de réseau, à la latence du réseau, aux pannes de disques durs, et aux erreurs d'administrateurs système
|
||||||
|
* être simple
|
||||||
|
* être déployé sur de multiples centres de donnée
|
||||||
|
|
||||||
|
Il ne cherche pas à :
|
||||||
|
|
||||||
|
* fournir des performances exceptionnelles
|
||||||
|
* implémenter complètement l'API de S3
|
||||||
|
* implémenter des codes d'effacement (notre modèle consiste en dupliquer les données telles quelles sur plusieurs nœuds)
|
||||||
|
|
||||||
|
À l'heure actuelle, Garage est déployé sur notre grappe de serveurs (ce site même est hébergé sur Garage !), mais doit tout de même être considéré comme une démonstration technique.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Liens externes :
|
||||||
|
|
||||||
|
* [Dépôt](https://git.deuxfleurs.fr/Deuxfleurs/garage/) : Garage est un logiciel libre développé sur notre propre instance Gitea
|
||||||
|
|
||||||
|
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)
|
20
content/infrastructures/logiciels/guichet.md
Normal file
20
content/infrastructures/logiciels/guichet.md
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
title: Guichet
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2021-11-09T12:39:27.819Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2021-11-09T12:39:25.808Z
|
||||||
|
weight: 20
|
||||||
|
---
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
## Statut du développement
|
||||||
|
|
||||||
|
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>
|
19
content/infrastructures/logiciels/tricot.md
Normal file
19
content/infrastructures/logiciels/tricot.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
title: Tricot
|
||||||
|
description:
|
||||||
|
published: true
|
||||||
|
date: 2022-01-24T16:33:16.731Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2022-01-24T16:32:53.056Z
|
||||||
|
weight: 50
|
||||||
|
---
|
||||||
|
|
||||||
|
# Tricot
|
||||||
|
|
||||||
|
Tricot est un reverse-proxy HTTP et HTTPS qui s'auto-configure à partir de [Consul](https://www.consul.io), comme le faisait Traefik, qui posait de multiples problèmes et que nous avons décidé de remplacer. Tricot s'occupe automatiquement de récupérer des certificats au près de Let's Encrypt pour rendre tous les sites accessibles en TLS. Ceux-ci sont stockés dans Consul.
|
||||||
|
|
||||||
|
## Statut du développement
|
||||||
|
|
||||||
|
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>
|
|
@ -8,9 +8,9 @@ weight = 80
|
||||||
|
|
||||||
Gandi
|
Gandi
|
||||||
|
|
||||||
# Réseau Virtuel
|
# Pont IPv6
|
||||||
|
|
||||||
Route 58
|
Route 48
|
||||||
|
|
||||||
# Paquets
|
# Paquets
|
||||||
|
|
||||||
|
|
7
content/prise_en_main/stockage/_index.md
Normal file
7
content/prise_en_main/stockage/_index.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: Stockage de fichiers
|
||||||
|
description: Stocker ses fichiers chez Deuxfleurs
|
||||||
|
sort_by: weight
|
||||||
|
---
|
||||||
|
|
||||||
|
Dans cette section, vous trouverez plusieurs tutoriels expliquant comment stocker vos fichiers chez Deuxfleurs sur Garage. Malheureusement, nous n'avons pas encore d'interface facile pour accéder à cette fonctionnalité: **les guides dans cette section sont donc à destination d'un public avancé**.
|
150
content/prise_en_main/stockage/drive_garage.md
Normal file
150
content/prise_en_main/stockage/drive_garage.md
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
---
|
||||||
|
title: Sous Linux (avancé)
|
||||||
|
description: Drive Garage avec Rclone (guide avancé)
|
||||||
|
weight: 10
|
||||||
|
---
|
||||||
|
|
||||||
|
# Faire un "drive" avec Garage et Rclone (guide avancé)
|
||||||
|
|
||||||
|
**Public visé:** des utilisateurs sous Linux n'ayant pas peur de la ligne de commande.
|
||||||
|
|
||||||
|
**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
|
||||||
|
|
||||||
|
**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`.
|
||||||
|
|
||||||
|
## 1. Obtenir des clefs d'accès Garage
|
||||||
|
|
||||||
|
La première étape consiste à obtenir vos clefs d'accès Garage. Pour l'instant la procédure n'est pas encore automatisée: vous devez demander à un administrateur qu'il vous envoie ces clefs manuellement. Demandez-lui également de créer un "bucket" pour vos fichiers personnels: pour l'instant vous ne pouvez pas encore le faire vous-même.
|
||||||
|
|
||||||
|
Vous devriez obtenir une paire de clefs de la forme suivante:
|
||||||
|
|
||||||
|
- L'identifiant de votre clé d'accès (exemple : `GKae0f36c...`), également connu sous le nom de "Access key" ou "Access key ID"
|
||||||
|
- Votre clé d'accès secrète (exemple : `ae6df87221edd...`), également connue sous le nom de "Secret key" ou "Secret access key"
|
||||||
|
|
||||||
|
## 2. Configurer `rclone`
|
||||||
|
|
||||||
|
Avant de suive ce guide, assurez-vous que la commande `rclone` est installée sur votre système Linux.
|
||||||
|
|
||||||
|
La première étape consiste à configurer `rclone` pour accéder à vos dossier stockés sur Garage. Cette configuration est suffisante dans un premier temps si vous ne souhaitez pas chiffrer vos fichiers sur le serveur. La section suivante est optionnelle et permettera d'introduire la couche de chiffrement.
|
||||||
|
|
||||||
|
### 2.1. Configurer le backend Garage
|
||||||
|
|
||||||
|
Créez le fichier `~/.config/rclone/rclone.conf` si celui-ci n'existe pas. Ensuite, modifiez ce fichier pour y ajouter la section suivante:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[grgdf]
|
||||||
|
type = s3
|
||||||
|
provider = Other
|
||||||
|
env_auth = false
|
||||||
|
access_key_id = GKae0f36c...
|
||||||
|
secret_access_key = ae6df87221edd...
|
||||||
|
endpoint = https://garage.deuxfleurs.fr
|
||||||
|
region = garage
|
||||||
|
```
|
||||||
|
|
||||||
|
Précisez les bonnes valeurs de `access_key_id` et `secret_access_key` que vous avez obtenu dans la phase 1.
|
||||||
|
|
||||||
|
Ensuite, testez votre configuration en faisant `rclone lsd grgdf:`. Vous devriez avoir une sortie ressemblant à ceci:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ rclone lsd grgdf:
|
||||||
|
-1 2021-11-24 17:10:05 -1 alex.perso
|
||||||
|
$
|
||||||
|
```
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
### 2.2. Configurer la couche de chiffrement `rclone`
|
||||||
|
|
||||||
|
Pour cette étape, nous allons utiliser l'assistant de configuration interactif de `rclone`. Si vous ne souhaitez pas utiliser le chiffrement, cette étape est optionnelle, mais elle est en réalité simple à réaliser donc je vous conseille de le faire.
|
||||||
|
|
||||||
|
**Prenez garde à copier vos mots de passez de chiffrement à plusieurs endroits : si vous les perdez, vos données deviendront définitivement illisibles !**
|
||||||
|
|
||||||
|
Pour lancer l'assistant interactif, tapez `rclone config` dans un terminal. Ensuite, entrez les valeurs suivantes:
|
||||||
|
|
||||||
|
- Tapez `n` pour `New remote`
|
||||||
|
- Dans `name`, entrez le nom `grgdfcrypt`
|
||||||
|
- Comme type de stockage, choisissez `Encrypt or décrypt a remote` (option `12`)
|
||||||
|
- Comme remote, entrez `grgdf:` suivi du nom du bucket qui vous a été donné, par exemple: `grgdf:alex.perso`.
|
||||||
|
- Choisissez l'option `encrypt the file names` (option `1` ou mode `standard`)
|
||||||
|
- 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.
|
||||||
|
- 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?`
|
||||||
|
- Vérifiez la configuration proposée, et validez en tapant `y`
|
||||||
|
|
||||||
|
Vous pouvez vérifier que votre configuration a bien réussi en affichant le contenu du fichier `~/.config/rclone/rclone.conf`. Vous devriez y voir une section comme la suivante:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[grgdfcrypt]
|
||||||
|
type = crypt
|
||||||
|
remote = grgdf:alex.perso
|
||||||
|
password = <...>
|
||||||
|
password2 = <...>
|
||||||
|
```
|
||||||
|
|
||||||
|
Pour tester que votre dossier chiffré est bien configuré, vous pouvez par exemple:
|
||||||
|
|
||||||
|
- taper `rclone ls grgdfcrypt:` pour lister tous les fichiers présents (cette commande renvoie initalement un résultat vide car il n'y a aucun fichier)
|
||||||
|
- copier un fichier local vers le dossier chiffré en tapant `rclone copy mon/fichier/local.txt grgdfcrypt:monfichier.txt`, ce fichier devrait ensuite apparaître en tapant `rclone ls grgdfcrypt:`
|
||||||
|
|
||||||
|
## 3. Configurer un service `systemd` utilisateur
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p $HOME/mnt/grgdf
|
||||||
|
mkdir -p $HOME/mnt/grgdfcrypt
|
||||||
|
```
|
||||||
|
|
||||||
|
Créez ensuite le fichier `~/.config/systemd/user/rclone-mount@.service` et copiez-y le contenu suivant:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
Description=Mount a directory using rclone
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStartPre=sh -c "fusermount -u ${HOME}/mnt/%i || exit 0"
|
||||||
|
ExecStart=/usr/bin/rclone mount --vfs-cache-mode minimal --cache-dir ${HOME}/.cache/rclone/%i %i: ${HOME}/mnt/%i
|
||||||
|
|
||||||
|
RestartSec=10
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
```
|
||||||
|
|
||||||
|
Vous pouvez ensuite monter ("activer") vos dossiers Garage avec l'une des commandes suivantes:
|
||||||
|
|
||||||
|
- `systemctl --user start rclone-mount@grgdf` pour le dossier non chiffré
|
||||||
|
- `systemctl --user start rclone-mount@grgdfcrypt` pour le dossier chiffré
|
||||||
|
|
||||||
|
Pour que ceux-ci soient montés automatiquement en permanence, tapez:
|
||||||
|
|
||||||
|
- `systemctl --user enable rclone-mount@grgdf` pour le dossier non chiffré
|
||||||
|
- `systemctl --user enable rclone-mount@grgdfcrypt` pour le dossier chiffré
|
||||||
|
|
||||||
|
Pour tester le fonctionnement de votre dossier Garage, vous pouvez naviguer dans ce dossier avec votre explorateur de fichier, tenter d'y copier des fichiers, etc.
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|
**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.
|
||||||
|
|
||||||
|
## Références
|
||||||
|
|
||||||
|
- <https://rclone.org/crypt/>
|
||||||
|
- <https://adnab.me/cgit/user-config.git/tree/lindy/systemd/rclone-mount@.service>
|
61
content/prise_en_main/stockage/rclone_mount.md
Normal file
61
content/prise_en_main/stockage/rclone_mount.md
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
---
|
||||||
|
title: Sous Windows (avancé)
|
||||||
|
description:
|
||||||
|
weight: 20
|
||||||
|
published: true
|
||||||
|
date: 2022-03-28T09:28:19.870Z
|
||||||
|
tags:
|
||||||
|
editor: markdown
|
||||||
|
dateCreated: 2022-02-01T16:23:58.635Z
|
||||||
|
---
|
||||||
|
|
||||||
|
# Rclone Mount
|
||||||
|
|
||||||
|
## Sur Windows
|
||||||
|
|
||||||
|
Nous aurons besoin de télécharger 3 programmes :
|
||||||
|
- [winfsp](http://www.secfs.net/winfsp/rel/) - téléchargez l'installateur et installez normalement
|
||||||
|
- [rclone](https://rclone.org/downloads/) - Téléchargez le zip pour Windows + Intel/AMD 64 bit, puis extraire le fichier `rclone` dans `C:\Program Files\rclone\rclone.exe` (il faut créer le dossier rclone dans Program Files).
|
||||||
|
- [nssm](https://nssm.cc/download) - Téléchargez la version "Featured pre-release", actuellement `nssm 2.24-101-g897c7ad (2017-04-26)`. Extrayez le fichier `nssm.exe` dans `C:\Program Files\rclone\nssm.exe`
|
||||||
|
|
||||||
|
Créez un fichier de configuration `rclone.conf` toujours dans le même dossier (`C:\Program Files\rclone\`) :
|
||||||
|
|
||||||
|
```
|
||||||
|
[garage]
|
||||||
|
type = s3
|
||||||
|
provider = Other
|
||||||
|
env_auth = false
|
||||||
|
access_key_id = <REMPLACEZ PAR VOTRE IDENTIFIANT DE CLE D'ACCESS>
|
||||||
|
secret_access_key = <REMPLACEZ PAR VOTRE CLE D'ACCES SECRETE>
|
||||||
|
region = garage
|
||||||
|
endpoint = garage.deuxfleurs.fr
|
||||||
|
bucket_acl = private
|
||||||
|
force_path_style = true
|
||||||
|
no_check_bucket = true
|
||||||
|
```
|
||||||
|
Ouvrez un terminal Windows (Powershell ou cmd.exe) dans le dossier `C:\Program Files\rclone` toujours. (Clic droit sur le bouton démarrer, puis cherchez Terminal ou Powershell admin, puis tapez `cd "C:\Program Files\rclone"`).
|
||||||
|
|
||||||
|
Ajoutez rclone comme service Windows :
|
||||||
|
|
||||||
|
```
|
||||||
|
./nssm.exe install rclone
|
||||||
|
```
|
||||||
|
|
||||||
|
Dans la fenêtre qui s'ouvre :
|
||||||
|
1. Dans `Path` (ou Chemin), cliquez sur les 3 points à droite et choisissez `rclone.exe`, vous devriez avoir `C:\Program Files\rclone\rclone.exe`
|
||||||
|
2. Laisser `Startup directory` par défaut
|
||||||
|
3. Mettez dans `Arguments` (ou Paramètres) ce qui suit : `--config=rclone.conf mount garage: \\deuxfleurs\garage --vfs-cache-mode full`
|
||||||
|
4. Tout en bas, dans `Service Name` (ou nom du service), tapez `garage`
|
||||||
|
5. Cliquez sur l'onglet `Log on` (ou Connexion), et cochez "Allow service to interact with desktop" (Autoriser le service à intéragir avec le bureau ou quelque chose du genre).
|
||||||
|
6. Cliquez sur `Install service` (ou Installer le service)
|
||||||
|
|
||||||
|
|
||||||
|
Maintenant on va démarrer le service. Faites clic droit sur le bouton démarrer de Windows puis cliquez sur "Executer", tapez `services.msc` puis faites entrée.
|
||||||
|
|
||||||
|
Dans la liste, cherchez "garage", faites clic droit dessus, puis "Démarrer".
|
||||||
|
|
||||||
|
Ouvrer votre explorateur de fichier windows (raccourci clavier touche windows + E), normalement un nouveau disque réseau est apparu. Il sera là automatiquement à chaque démarrage.
|
||||||
|
|
||||||
|
## Sur Linux
|
||||||
|
|
||||||
|
Voir le tutoriel [Drive Garage](@/prise_en_main/stockage/drive_garage.md)
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
title: AG 2020
|
title: AG 2020
|
||||||
description: Assemblée Générale Constitutive
|
description: Assemblée Générale Constitutive
|
||||||
weigth: 1
|
weight: 10
|
||||||
---
|
---
|
||||||
|
|
||||||
Le 13 janvier 2020 à 19 heures, les fondateurs de l'association
|
Le 13 janvier 2020 à 19 heures, les fondateurs de l'association
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
title: AG 2021
|
title: AG 2021
|
||||||
description: Seconde Assemblée Générale
|
description: Seconde Assemblée Générale
|
||||||
weight: 2
|
weight: 20
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
title: AG 2022
|
title: AG 2022
|
||||||
description: Troisième Assemblée Générale
|
description: Troisième Assemblée Générale
|
||||||
weight: 3
|
weight: 30
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title = "Assemblées Générales"
|
title = "Assemblées Générales"
|
||||||
description = "Assemblées Générales"
|
description = "Assemblées Générales"
|
||||||
weight = 50
|
weight = 50
|
||||||
|
sort_by = "weight"
|
||||||
+++
|
+++
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue