diff options
34 files changed, 2263 insertions, 51 deletions
diff --git a/content/formations/mediatheque/_index.md b/content/formations/mediatheque/_index.md index 20b4be2..374aa5b 100644 --- a/content/formations/mediatheque/_index.md +++ b/content/formations/mediatheque/_index.md @@ -48,6 +48,13 @@ sort_by = "weight" [↣ Lire en ligne](https://www.are.na/blog/community-memory) +**Cornelius Castoriadis, « L'institution imaginaire de la société », 1975, Éditions du Seuil.** + +![Couverture de L'institution imaginaire de la société <](/img/cover/imaginaire.jpg) +*Dans cet essai, qui fut son maître livre, Cornélius Castoriadis s'attache à un réexamen fondamental des bases philosophiques de la pensée révolutionnaire. Il retrouve, chez Marx notamment, les préceptes de la "pensée héritée", cette logique identitaire qui, depuis les Grecs, inspire la philosophie classique. Et il propose une "auto-institution" de la société qui laisserait cours, enfin, à l'imaginaire radical. Fruit d'une analyse précise de l'histoire et des luttes sociales à l'heure de l'effondrement des repères traditionnels de la révolution, ce livre, devenu un classique, propose un point de départ pour penser à neuf le projet de transformation de la société.* + +[Fiche Babelio](https://www.babelio.com/livres/Castoriadis-Linstitution-imaginaire-de-la-societe/17835) - [Notice BNF](https://catalogue.bnf.fr/ark:/12148/cb345747395) + # Notre bibliothèque sur Zotero [Zotero](https://www.zotero.org/) est un gestionnaire de bibliographie libre et très sympathique, une fois assimilée son interface graphique. Nous l'utilisons pour stocker tout un paquet de ressources—des vidéos aux articles de recherche. diff --git a/content/formations/nix/_index.md b/content/formations/nix/_index.md index ac6a752..2f1f4e9 100644 --- a/content/formations/nix/_index.md +++ b/content/formations/nix/_index.md @@ -11,7 +11,7 @@ Suivez les liens dans le menu de gauche dans l'ordre # Ressources -search.nixos.org pour trouver un paquet. +<https://search.nixos.org> pour trouver un paquet. -Se référer au wiki nixos pour comprendre rapidement un domaine. +Se référer au wiki NixOS pour comprendre rapidement un domaine. Par exemple domaine = nodejs ou domaine = audio linux. diff --git a/content/formations/sysadmin/_index.md b/content/formations/sysadmin/_index.md index 4d621e4..8a6b56b 100644 --- a/content/formations/sysadmin/_index.md +++ b/content/formations/sysadmin/_index.md @@ -25,8 +25,8 @@ Heureusement, la plupart des ressources pour se former sont accessibles gratuite De plus, un grand nombre de ces dernières sont mêmes accessibles en Français. Bref, avec un peu d'aide, il est tout à fait possible de s'auto-former. -Pour bien se former, il faut des bases théoriques dans un ensemble de domaines précis : réseau, système d’exploitation,« ingénieurie de fiabilité », et sécurité/cryptographie. -Pour couvrir plus largement le domaine, il est bon d'inclure également un peu de programmation, un peu d’architecture matériel, un peu de base de données, un peu d’algorithmie, un peu de structure de données, etc. Une fois cette base acquise, et seulement une fois qu’elle est acquise, il est possible de s'intéresser au fonctionnement précis d'une technologie en particulier, mais c’est vraiment secondaire. +Pour bien se former, il faut des bases théoriques dans un ensemble de domaines précis : réseau, système d’exploitation, « ingénieurie de fiabilité », et sécurité/cryptographie. +Pour couvrir plus largement le domaine, il est bon d'inclure également un peu de programmation, un peu d’architecture matérielle, un peu de base de données, un peu d’algorithmie, un peu de structure de données, etc. Une fois cette base acquise, et seulement une fois qu’elle est acquise, il est possible de s'intéresser au fonctionnement précis d'une technologie en particulier, mais c’est vraiment secondaire. Ce wiki a pour objectif de référencer les bases théoriques existantes et d'apporter des bases pratiques spécifiques complémentaires. # Ressources externes @@ -71,4 +71,4 @@ Ce wiki a pour objectif de référencer les bases théoriques existantes et d'ap **MOOC**. Il existe pas mal de MOOC en informatique, que ce soit en français comme en anglais, sur des plateformes spécialisées comme une playlist Youtube. -[Exemple "France Université Numérique](https://www.fun-mooc.fr/fr/cours/?limit=21&offset=0&subjects=2787) +[Exemple "France Université Numérique"](https://www.fun-mooc.fr/fr/cours/?limit=21&offset=0&subjects=2787) diff --git a/content/formations/sysadmin/chiffrement_froid.md b/content/formations/sysadmin/chiffrement_froid.md index 6d52df0..10c1418 100644 --- a/content/formations/sysadmin/chiffrement_froid.md +++ b/content/formations/sysadmin/chiffrement_froid.md @@ -1,7 +1,7 @@ --- title: Chiffrement à froid description: Guide à l'installation d'une machine en chiffrant intégralement son disque dur -weight: 20 +weight: 30 published: true date: 2022-01-30T20:43:56.953Z tags: serveur, infrastructure, sysadmin, technique, guide, tutoriel, administration, chiffrement, luks @@ -9,7 +9,7 @@ editor: markdown dateCreated: 2021-12-29T15:29:02.943Z --- -Le chiffrement à froid, c'est le fait de n'inscrire que des données chiffrées sur un disque (plus précisément [une partition de disque](https://fr.wikipedia.org/wiki/Partitionnement_logiciel_/_mat%C3%A9riel)). C'est le standard [LUKS](https://fr.wikipedia.org/wiki/LUKS) qui permet ce chiffrement : ce dernier se place entre le support de stockage et le système d'exploitation (OS), et dé/chiffre tout ce qui est lu ou écrit sur une partition. **Cette étape doit donc être réalisée avant d'installer le système d'exploitation, mais après [le partitionnement de vos disques](/Guide/Infra/Configuration_disques).** +Le chiffrement à froid, c'est le fait de n'inscrire que des données chiffrées sur un disque (plus précisément [une partition de disque](https://fr.wikipedia.org/wiki/Partitionnement_logiciel_/_mat%C3%A9riel)). C'est le standard [LUKS](https://fr.wikipedia.org/wiki/LUKS) qui permet ce chiffrement : ce dernier se place entre le support de stockage et le système d'exploitation (OS), et (dé)chiffre tout ce qui est lu ou écrit sur une partition. **Cette étape doit donc être réalisée avant d'installer le système d'exploitation, mais après [le partitionnement de vos disques](@/formations/sysadmin/partitionnement.md).** Une fois le chiffrement mis en place, on utilise le système d'exploitation comme d'habitude (tout a l'air déchiffré à l'usage), parce que LUKS chiffre et déchiffre - de façon transparente - toutes les informations que l'OS lit et écrit sur la mémoire morte (le disque). diff --git a/content/formations/sysadmin/installer_linux.md b/content/formations/sysadmin/installer_linux.md index 7975844..997e718 100644 --- a/content/formations/sysadmin/installer_linux.md +++ b/content/formations/sysadmin/installer_linux.md @@ -16,7 +16,7 @@ Utiliser un Live CD, c'est la base pour configurer les disques d'une machine, in Ce guide se décompose ainsi : * On commence par expliquer comme obtenir une *image disque* ou ISO. Elle contient le système qu'on va mettre sur le Live CD. -* On explique comment *flasher* l'ISO obtenue sur le support de stockage de notre choix (CD, USB, carte SD, disque dur externe : ce que vous avez sur la main, tant que c'est capable de contenir l'ISO et connectable à l'ordinateur cible). *Flasher*, c'est le verbe classe pour dire « copier l'image disque sur le support de stockage » (avouez que ça claque). +* On explique comment *flasher* l'ISO obtenue sur le support de stockage de notre choix (CD, USB, carte SD, disque dur externe : ce que vous avez sur la main, tant que c'est capable de contenir l'ISO et connectable à l'ordinateur cible). *Flasher*, c'est le verbe classe pour dire « copier l'image disque sur le support de stockage » (avouez que ça claque !) * On découvre les arcanes du BIOS, ce mini-OS présent sur la carte-mère de l'ordinateur et dont le rôle (entre autres) est de savoir quel système démarrer aujourd'hui. Dans notre cas, on veut démarrer sur le Live CD, ce qu'il faudra donc expliquer à notre ami le BIOS. * Et ça démarre ! diff --git a/content/formations/sysadmin/partitionnement.md b/content/formations/sysadmin/partitionnement.md index ddc4f73..b8211df 100644 --- a/content/formations/sysadmin/partitionnement.md +++ b/content/formations/sysadmin/partitionnement.md @@ -2,7 +2,7 @@ title: Partitionnement description: "Redondance, partitionnement, chiffrement : comment configurer ses disques durs en vue d'une installation de serveur" published: true -weight: 30 +weight: 20 date: 2022-04-02T13:38:01.527Z tags: serveur, infrastructure, sysadmin, technique, administration, chiffrement, disque, partitionnement, redondance editor: markdown @@ -13,7 +13,7 @@ dateCreated: 2021-12-30T11:39:09.554Z On part du principe que vous disposez d'un ordinateur, chez vous ou dans un centre de données, et vous êtes prêt⋅e à annihiler le contenu de ses disques pour en faire un beau serveur tout propre. (Il est tout à fait faisable de garder des données existantes sur les disques, mais c'est hors du cadre de cet article.) -On commencera par expliquer comment accéder aux disques pour les configurer, avant de traiter de partitionnement et de redondance (le fait d'écrire la même choses sur plusieurs disques, au cas où l'un d'entre eux casse). Un autre se focalise sur [le chiffrement des disques](/Guide/Infra/Chiffrement_froid), dont le but est que leur contenu soit incompréhensible sans la clé (si vous vous faites voler le disque, ou que votre hébergeur est trop curieux). +On commencera par expliquer comment accéder aux disques pour les configurer, avant de traiter de partitionnement et de redondance (le fait d'écrire la même choses sur plusieurs disques, au cas où l'un d'entre eux casse). Un autre se focalise sur [le chiffrement des disques](@/formations/sysadmin/chiffrement_froid.md), dont le but est que leur contenu soit incompréhensible sans la clé (si vous vous faites voler le disque, ou que votre hébergeur est trop curieux). ## Préliminaire : accéder aux disques @@ -21,7 +21,7 @@ Pour configurer les disques, il faut y avoir accès, comme s'ils étaient des di Deux possibilités : * _Vous disposez d'un accès physique à la machine_, et pouvez donc brancher écran, clavier, et insérer un live CD/USB Linux qui vous permettra de lancer Linux *depuis le live CD/USB*. - Si vous avez déjà installé un OS sur une machine, vous savez de quoi je parle. Sinon, référez-vous au [guide d'utilisation d'un Live CD](/Guide/Infra/Live_CD). + Si vous avez déjà installé un OS sur une machine, vous savez de quoi je parle. Sinon, référez-vous au [guide d'utilisation d'un Live CD](@/formations/sysadmin/installer_linux.md). * _Vous n'avez pas accès physiquement à la machine_ (par exemple : elle est dans un centre de données). Auquel cas, le propriétaire de la machine doit avoir prévu le coup : vous devriez pouvoir vous connecter en SSH (ligne de commande à distance) à un *mode rescue* qui vous permettra d'agir sur les disques de la machine alors qu'elle est éteinte. Comment s'y prendre dépend de l'infrastructure logicielle du propriétaire du centre de données. @@ -84,7 +84,7 @@ Comprenez d'abord qu'on « montera » un dossier du système Linux dans chaque p Elle a besoin d'être sur le disque dur principal, et son format (BIOS ou EFI) dépend de l'âge de l'ordinateur (EFI est plus récent). La taille qu'elle doit faire dépend de son format, mais ça ne dépassera jamais 600 Mo. Si vous non plus, vous n'y comprenez rien, j'ai trouvé [ce guide](https://www.easeus.fr/partition-manager-tips/difference-entre-bios-et-uefi.html) très clair et complet. * `/boot` contient les données d'amorçage du système, et pèse le plus souvent moins de 200 Mo. - On a besoin de mettre ce dossier dans sa propre partition quand on fait du [Chiffrement à froid](/Guide/Infra/Chiffrement_froid) sur la partition système (`/`), par exemple. + On a besoin de mettre ce dossier dans sa propre partition quand on fait du [Chiffrement à froid](@/formations/sysadmin/chiffrement_froid.md) sur la partition système (`/`), par exemple. * Une partition `swap`, qui sert de **RAM de secours super lente**. Très utile si l'on n'a pas beaucoup de RAM, parce qu'elle évite que le serveur ne s'éteigne brutalement dès la limite atteinte. En lieu et place, l'ordinateur fonctionne ô-combien-lentement, mais vous laisse quand même la possibilité de tuer cette saleté de processus qui a mangé toute la RAM, sans avoir à redémarrer. @@ -149,12 +149,12 @@ Personnellement, aujourd'hui, j'ai deux configurations de serveur à partitionne * Ce serveur étant loué dans un centre de données, je compte chiffrer mes données. Je ne veux pas avoir X clés de déchiffrement (une par partition) à rentrer à chaque démarrage, donc je vais utiliser LVM pour ne créer qu'une seule grosse partition chiffrée (dont LVM gèrera le sous-partitionnement pour mon système). * J'ai 3 disques, je vais donc pouvoir utiliser RAID5 pour la redondance de cette méga-partition LVM (RAID1 aurait toléré un *crash* de disque de plus, mais j'aurais eu moins d'espace disque). * Dans LVM, on aura presque 4 To d'espace ! On va faire une partition `/`, une `/home`, une `/var`, une `/data` et la `swap`. Leurs tailles seront facilement adaptables avec LVM à l'usage, donc on s'en fiche à ce stade. - * Le chiffrement va nécessiter un partition `/boot`, pour que je puisse me connecter au serveur et le déchiffrer avant chaque démarrage (cf. [guide du chiffrement à froid](/Guide/Infra/Chiffrement_froid)). La partition `/boot` sera redondée en RAID1. + * Le chiffrement va nécessiter un partition `/boot`, pour que je puisse me connecter au serveur et le déchiffrer avant chaque démarrage (cf. [guide du chiffrement à froid](@/formations/sysadmin/chiffrement_froid.md)). La partition `/boot` sera redondée en RAID1. * Il va me falloir une petite partition d'amorçage BIOS/EFI de quelques Mo. Graphiquement, ça ressemblera à ça : -![Partitionnement de 3 disques avec partition /boot et LVM](/partitionnement_3_disques_lvm.svg) +![Partitionnement de 3 disques avec partition /boot et LVM](/img/partitionnement_3_disques_lvm.svg) * _2 disques de 2 To_ (machines Swordfish & Red Tail) : @@ -164,7 +164,7 @@ Personnellement, aujourd'hui, j'ai deux configurations de serveur à partitionne En image : -![partitionnement_2_disques_lvm.svg](/partitionnement_2_disques_lvm.svg) +![partitionnement_2_disques_lvm.svg](/img/partitionnement_2_disques_lvm.svg) > L'article est en réécriture à partir de ce point ! @@ -408,7 +408,7 @@ sda 8:0 0 1.8T 0 disk C'est magnifique, nous avons des partitions. Mais pour l'instant, elles ne servent à rien : il leur manque un système de fichier pour être utilisables par un système d'exploitation. -Si vous comptez chiffrer les disques de votre futur serveur (ce qu'on recommande chaudement si votre serveur est dans un centre de données), il faut configurer le chiffrement *avant* d'installer un système de fichier. Rendez-vous donc sur le [guide du chiffrement à froid](/Guide/Infra/Chiffrement_froid), où on traitera aussi de l'installation du système de fichier de A à Z : vous avez donc fini ce guide, bravo ! +Si vous comptez chiffrer les disques de votre futur serveur (ce qu'on recommande chaudement si votre serveur est dans un centre de données), il faut configurer le chiffrement *avant* d'installer un système de fichier. Rendez-vous donc sur le [guide du chiffrement à froid](@/formations/sysadmin/chiffrement_froid.md), où on traitera aussi de l'installation du système de fichier de A à Z : vous avez donc fini ce guide, bravo ! --- @@ -418,8 +418,6 @@ Si vous êtes encore là, vous n'avez pas l'intention de chiffrer vos disques. I > TODO: ext4 vs. ZFS. [Un guide en anglais](https://nascompares.com/2021/07/21/zfs-vs-ext4-for-nas-what-is-the-difference-in-your-file-system/). -Le système de fi - # Références * ADRN, [Guide d'installation de Debian avec chiffrement à froid dans le centre de données Kimsufi](https://plume.deuxfleurs.fr/~/WebTrotter/installing-a-cloud-server-with-full-disk-encryption), Blog Deuxfleurs, avril 2021, anglais. diff --git a/content/infrastructures/logiciels/_index.md b/content/infrastructures/logiciels/_index.md new file mode 100644 index 0000000..f2e2528 --- /dev/null +++ b/content/infrastructures/logiciels/_index.md @@ -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. diff --git a/content/infrastructures/logiciels/bottin.md b/content/infrastructures/logiciels/bottin.md new file mode 100644 index 0000000..4f1a032 --- /dev/null +++ b/content/infrastructures/logiciels/bottin.md @@ -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> diff --git a/content/infrastructures/logiciels/conception/_index.md b/content/infrastructures/logiciels/conception/_index.md new file mode 100644 index 0000000..756e240 --- /dev/null +++ b/content/infrastructures/logiciels/conception/_index.md @@ -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. diff --git a/content/infrastructures/logiciels/conception/vie_privee.md b/content/infrastructures/logiciels/conception/vie_privee.md new file mode 100644 index 0000000..a20d468 --- /dev/null +++ b/content/infrastructures/logiciels/conception/vie_privee.md @@ -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
\ No newline at end of file diff --git a/content/infrastructures/logiciels/diplonat.md b/content/infrastructures/logiciels/diplonat.md new file mode 100644 index 0000000..b8aea17 --- /dev/null +++ b/content/infrastructures/logiciels/diplonat.md @@ -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. diff --git a/content/infrastructures/logiciels/garage.md b/content/infrastructures/logiciels/garage.md new file mode 100644 index 0000000..bada32e --- /dev/null +++ b/content/infrastructures/logiciels/garage.md @@ -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) diff --git a/content/infrastructures/logiciels/guichet.md b/content/infrastructures/logiciels/guichet.md new file mode 100644 index 0000000..c916340 --- /dev/null +++ b/content/infrastructures/logiciels/guichet.md @@ -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> diff --git a/content/infrastructures/logiciels/tricot.md b/content/infrastructures/logiciels/tricot.md new file mode 100644 index 0000000..e2fab3b --- /dev/null +++ b/content/infrastructures/logiciels/tricot.md @@ -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> diff --git a/content/infrastructures/machines/production.md b/content/infrastructures/machines/production.md index 34be176..f6d2b4f 100644 --- a/content/infrastructures/machines/production.md +++ b/content/infrastructures/machines/production.md @@ -34,7 +34,7 @@ Cette grappe est plus récente et ne gère que Cryptpad à l'heure actuelle. | Désignation | Rôle | Quantité | Détails | | -- | -- | -- | -- | -| ThinkCentre M73 Tiny | Serveur | x3 | Intel G1840T @ 2.50GHz (4 cœurs)<br> 8Go RAM, SSD ~120Go | +| ThinkCentre M73 Tiny | Serveur | x3 | 2 cœurs, 8Go RAM, HDD 500Go | | D-Link DGS-108gl | Switch | x1 | 8 ports ethernet @ 1Gbit/s | | Box SFR | Routeur | x1 | N/A | diff --git a/content/infrastructures/machines/xp.md b/content/infrastructures/machines/xp.md index 130099c..17c0b82 100644 --- a/content/infrastructures/machines/xp.md +++ b/content/infrastructures/machines/xp.md @@ -17,7 +17,8 @@ Cluster staging pour Garage. Cluster staging Nix. Runners Drone. | Désignation | Rôle | Quantité | Détails | | -- | -- | -- | -- | -| ThinkCentre M73 Tiny | Serveur | x3 | 2 cœurs, 8Go RAM, HDD 500Go | +| ThinkCentre M73 Tiny | Serveur | x1 | 4 cœurs, 8Go RAM, SSD 120Go | +| ThinkCentre M73 Tiny | Serveur | x2 | 4 cœurs, 8Go RAM, SSD 240Go | # Lyon (aurora) diff --git a/content/infrastructures/reseau.md b/content/infrastructures/reseau.md index 05a4567..3a267e2 100644 --- a/content/infrastructures/reseau.md +++ b/content/infrastructures/reseau.md @@ -20,7 +20,7 @@ Cette page regroupe un résumé de tous les problèmes que vous pourriez rencont Entre janvier et mars, les serveurs hébergés derrière une connexion Free ont eu des problèmes en soirée. Le problème a été résolu depuis. -Plus d'informations ici : https://www.aduf.org/viewtopic.php?t=286599&start=0 +Plus d'informations ici : <https://www.aduf.org/viewtopic.php?t=286599&start=0> ### Congestion liée au peering @@ -36,9 +36,18 @@ Parfois, il suffit de les appels. Exemple : Ora/Viti en Polynésie française +### IPv4 partagée + +D'autres FAI ont trouvé une solution alternative à l'épuisement des adresses IPv4: +partager une addresse IP entre plusieurs abonnés. Cela peut se faire par exemple +en allouant 1/4 de la plage des ports disponibles à chacun de 4 clients partageant +la même addresse IP (par exemple les ports de 32768 à 49151). + +Exemple : Free/FTTH (possibilité de demander une IP entière dans l'espace client) + ### Pas d'IPv6 du tout -FAI connus pour ne pas proposer d'IPv6 : +FAI connus pour ne pas proposer d'IPv6 sur la majorité des connections : * SFR/FTTH diff --git a/content/infrastructures/services.md b/content/infrastructures/services.md new file mode 100644 index 0000000..d814c11 --- /dev/null +++ b/content/infrastructures/services.md @@ -0,0 +1,38 @@ +--- +title: Services +description: Annuaire des services hébergés chez Deuxfleurs +--- + +Cette page tente de recenser de façon exhaustive l'ensemble des services qui +fonctionnent actuellement sur les machines de Deuxfleurs, dans les différents +rôles identifiés : production, développement, expérimentation, etc. + +| Service | Rôle | Site | Description | +| -- | -- | -- | -- | +| [deuxfleurs.fr](https://deuxfleurs.fr) | production | `atuin` | Site principal de Deuxfleurs | +| [guide.deuxfleurs.fr](https://guide.deuxfleurs.fr) | production | `atuin` | Ce site | +| [Garage HQ](https://garagehq.deuxfleurs.fr) | production | `atuin` | Site web de Garage | +| [Guichet](https://guichet.deuxfleurs.fr) | production | `atuin` | Interface de gestion des utilisateurs | +| [Synapse](https://im.deuxfleurs.fr) | production | `atuin` | Serveur Matrix | +| [Element](https://riot.deuxfleurs.fr) | production | `atuin` | Client web pour Matrix | +| [Jitsi](https://jitsi.deuxfleurs.fr) | production | `atuin` | Service de visioconférence | +| Postfix | production | `atuin` | Serveur SMTP | +| Dovecot | production | `atuin` | Serveur IMAP | +| [SoGo](https://sogo.deuxfleurs.fr) | production | `atuin` | Client mail SoGo | +| [Alps](https://alps.deuxfleurs.fr) | production | `atuin` | Client mail Alps (plus léger) | +| [Plume](https://plume.deuxfleurs.fr) | production | `atuin` | Blog collaboratif et fédéré | +| [Platôo](https://platoo.deuxfleurs.fr) | production | `atuin` | Jeux de plateau en ligne | +| [Garage](https://garage.deuxfleurs.fr) | production | `atuin`, `neptune`, `jupiter` | Serveur de stockage de données | +| [CryptPad](https://pad.deuxfleurs.fr) | production | `neptune` | Éditeur de documents collaboratif chiffré | +| [Grafana](https://grafana.home.mricher.fr) | production | `mercure` | Interface de monitoring de l'infrastructure | +| [Gitea](https://git.deuxfleurs.fr) | développement | `mars` | Forge logicielle | +| [Drone](https://drone.deuxfleurs.fr) | développement | `atuin` | Serveur d'intégration continue | +| Drone (runner) | développement | `neptune` | Worker pour l'intégration continue | +| SSH | sauvegarde | `mercure` | Target de backups (Consul) | +| [Minio](https://s3.deuxfleurs.shirokumo.net) | sauvegarde | `mercure` | Target de backups restic | +| [cron rclone](@/operations/sauvegardes/rclone.md) | sauvegarde | `jupiter` | Backup régulier du contenu de Garage | +| [staging.deuxfleurs.org](https://staging.deuxfleurs.org) | expérimentation | `neptune` | Site statique de test | +| Garage ([S3](https://garage.staging.deuxfleurs.org), [K2V](https://k2v.staging.deuxfleurs.org)) | expérimentation | `neptune` | Beta-test serveur de stockage de données | +| [Guichet](https://guichet.staging.deuxfleurs.org) | expérimentation | `neptune` | Beta-test interface de gestion des utilisateurs | +| [Grafana](https://grafana.staging.deuxfleurs.org) | expérimentation | `neptune` | Interface de monitoring | +| [Kibana](https://kibana.staging.deuxfleurs.org) | expérimentation | `neptune` | Interface de monitoring | diff --git a/content/operations/prestataires/_index.md b/content/operations/prestataires/_index.md index 6c6eb15..52c7132 100644 --- a/content/operations/prestataires/_index.md +++ b/content/operations/prestataires/_index.md @@ -8,9 +8,9 @@ weight = 80 Gandi -# Réseau Virtuel +# Pont IPv6 -Route 58 +Route 48 # Paquets diff --git a/content/prise_en_main/_index.md b/content/prise_en_main/_index.md index 782cf9e..952d440 100644 --- a/content/prise_en_main/_index.md +++ b/content/prise_en_main/_index.md @@ -12,41 +12,41 @@ publier une tribune. # Je veux rester en contact avec mes proches Si vous aimez échanger des messages texte, que ce soit dans des conversations privées ou en groupe, -vous serez intéressé·e par [Matrix](./matrix/). +vous serez intéressé·e par [Matrix](@/prise_en_main/matrix.md). Si vous connaissez **Signal**, **WhatsApp** ou **Telegram**, ça fonctionne de manière similaire. L'application est disponible sur Android, iPhone et dans votre navigateur directement. Elle permet de partager des messages textes, des messages vocaux, des photos, et des vidéos. Vos échanges sont chiffrés (on dit parfois cryptés) de bout en bout et donc illisibles par une personne extérieure à la conversation, y compris par nous ! -[↣ Apprendre à utiliser Matrix](./matrix/) +[↣ Apprendre à utiliser Matrix](@/prise_en_main/matrix.md) Si vous préférez échanger de vive voix et voir directement votre interlocuteur·ice, -vous allez préférez [Jitsi](./jitsi). +vous allez préférez [Jitsi](@/prise_en_main/jitsi.md). Si vous connaissez **Facetime**, **Google Duo** ou l'appel vidéo **Facebook Messenger**, ça fonctionne de manière similaire. L'application est disponible sur Android, iPhone et dans votre navigateur directement. Vous pouvez activer ou désactiver votre webcam ou votre microphone, inviter jusqu'à 30 personnes ou encore partager votre écran. -[↣ Apprendre à utiliser Jitsi](./jitsi/) +[↣ Apprendre à utiliser Jitsi](@/prise_en_main/jitsi.md) # Je veux organiser un évènement pour mon association ou entre amis Pour prévenir tout le monde, envoyer un email -[↣ Apprendre à utiliser les emails](./email/) +[↣ Apprendre à utiliser les emails](@/prise_en_main/emails.md) Pour planifier la réunion, utiliser l'outil "Formulaire" de Cryptpad. Marche aussi pour faire des votes. -[↣ Apprendre à utiliser le formulaire Cryptpad](./cryptpad/) +[↣ Apprendre à utiliser le formulaire Cryptpad](@/prise_en_main/cryptpad.md) Pour discuter à distance, utiliser Jitsi -[↣ Apprendre à utiliser Jitsi](./jitsi/) +[↣ Apprendre à utiliser Jitsi](@/prise_en_main/jitsi.md) Pour écrire collaborativement le compte rendu de réunion : -[↣ Apprendre à utiliser le pad Cryptpad](./cryptpad/) +[↣ Apprendre à utiliser le pad Cryptpad](@/prise_en_main/cryptpad.md) # Je veux publier une tribune sur Internet @@ -54,13 +54,13 @@ Pour écrire collaborativement le compte rendu de réunion : Je veux que les gens puissent s'abonner à mon blog et être notifiés quand je poste du nouveau contenu. -[↣ Apprendre à utiliser Plume](./plume/) +[↣ Apprendre à utiliser Plume](@/prise_en_main/plume.md) Je veux créer un site web qui soit référencé dans les moteurs de recherche, un espace où je puisse gérer finement mon contenu, et vers lequel je peux envoyer des gens s'y référer -[↣ Apprendre à créer un site web](./web/) +[↣ Apprendre à créer un site web](@/prise_en_main/web/_index.md) # URL des services diff --git a/content/prise_en_main/emails.md b/content/prise_en_main/emails.md index fb0eddd..262291e 100644 --- a/content/prise_en_main/emails.md +++ b/content/prise_en_main/emails.md @@ -15,7 +15,7 @@ La configuration peut changer à tout moment, certaines fonctionnalités peuvent <ul> <li><a href='https://sogo.deuxfleurs.fr'>🌐 Accéder via le navigateur (SoGo)</a></li> - <li><a href='https://sogo.deuxfleurs.fr'>🌐 Accéder via le navigateur (alps, version allégée)</a></li> + <li><a href='https://alps.deuxfleurs.fr'>🌐 Accéder via le navigateur (alps, version allégée)</a></li> <li><a href='https://www.thunderbird.net/fr/'>📥 Thunderbird (PC/Mac)</a></li> <li><a href='https://k9mail.app/'>📥 K9 (Android)</a></li> </ul> diff --git a/content/prise_en_main/stockage/_index.md b/content/prise_en_main/stockage/_index.md new file mode 100644 index 0000000..21ab438 --- /dev/null +++ b/content/prise_en_main/stockage/_index.md @@ -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é**. diff --git a/content/prise_en_main/stockage/drive_garage.md b/content/prise_en_main/stockage/drive_garage.md new file mode 100644 index 0000000..cb80b3a --- /dev/null +++ b/content/prise_en_main/stockage/drive_garage.md @@ -0,0 +1,148 @@ +--- +title: Sous Linux (avancé) +description: Drive Garage avec Rclone (guide avancé) +weight: 10 +--- + +**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> diff --git a/content/prise_en_main/stockage/rclone_mount.md b/content/prise_en_main/stockage/rclone_mount.md new file mode 100644 index 0000000..af84147 --- /dev/null +++ b/content/prise_en_main/stockage/rclone_mount.md @@ -0,0 +1,54 @@ +--- +title: Sous Windows (avancé) +description: Rclone Mount +weight: 20 +published: true +date: 2022-03-28T09:28:19.870Z +tags: +editor: markdown +dateCreated: 2022-02-01T16:23:58.635Z +--- + +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. + diff --git a/content/vie_associative/ag/AG2020.md b/content/vie_associative/ag/AG2020.md index 8159f1d..129cc1a 100644 --- a/content/vie_associative/ag/AG2020.md +++ b/content/vie_associative/ag/AG2020.md @@ -1,7 +1,7 @@ --- title: AG 2020 description: Assemblée Générale Constitutive -weigth: 1 +weight: 10 --- Le 13 janvier 2020 à 19 heures, les fondateurs de l'association diff --git a/content/vie_associative/ag/AG2021.md b/content/vie_associative/ag/AG2021.md index 941fe56..f02f33a 100644 --- a/content/vie_associative/ag/AG2021.md +++ b/content/vie_associative/ag/AG2021.md @@ -1,7 +1,7 @@ --- title: AG 2021 description: Seconde Assemblée Générale -weight: 2 +weight: 20 --- @@ -15,7 +15,7 @@ La retransmission de l'AG, accessible sur [le PeerTube de l'association TeDomum] <iframe width="560" height="315" sandbox="allow-same-origin allow-scripts allow-popups" src="https://video.tedomum.net/videos/embed/1df11eb4-b9d6-4c39-bbe3-2247dc577725" frameborder="0" allowfullscreen></iframe> -Les transparents de la réunion sont accessibles ici : https://deuxfleurs.fr/_ag2021/ +Les transparents de la réunion sont accessibles ici : <https://deuxfleurs.fr/_ag2021/> # Bilan moral 2020 diff --git a/content/vie_associative/ag/AG2022.md b/content/vie_associative/ag/AG2022.md index 333be04..74383e6 100644 --- a/content/vie_associative/ag/AG2022.md +++ b/content/vie_associative/ag/AG2022.md @@ -1,7 +1,7 @@ --- title: AG 2022 description: Troisième Assemblée Générale -weight: 3 +weight: 30 --- diff --git a/content/vie_associative/ag/_index.md b/content/vie_associative/ag/_index.md index 8141181..0811888 100644 --- a/content/vie_associative/ag/_index.md +++ b/content/vie_associative/ag/_index.md @@ -2,6 +2,7 @@ title = "Assemblées Générales" description = "Assemblées Générales" weight = 50 +sort_by = "weight" +++ diff --git a/static/img/cover/imaginaire.jpg b/static/img/cover/imaginaire.jpg Binary files differnew file mode 100644 index 0000000..96181bd --- /dev/null +++ b/static/img/cover/imaginaire.jpg diff --git a/static/img/partitionnement_2_disques.svg b/static/img/partitionnement_2_disques.svg new file mode 100644 index 0000000..dc42e42 --- /dev/null +++ b/static/img/partitionnement_2_disques.svg @@ -0,0 +1,340 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="138.98186mm" + height="36.416893mm" + viewBox="0 0 138.98186 36.416893" + version="1.1" + id="svg8" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="partitionnement_2_disques.svg"> + <defs + id="defs2"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1271" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Sstart"> + <path + transform="matrix(0.2,0,0,0.2,1.2,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1269" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Sstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Sstart" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path967" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.2,0,0,0.2,1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path961" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4" + inkscape:cx="148.99802" + inkscape:cy="8.1869618" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1055" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:snap-global="true" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-29.916813,51.833118)"> + <flowRoot + xml:space="preserve" + id="flowRoot852" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.33333397px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="scale(0.26458333)"><flowRegion + id="flowRegion854"><rect + id="rect856" + width="524.28577" + height="40.000011" + x="113.57142" + y="163.23396" /></flowRegion><flowPara + id="flowPara858"></flowPara></flowRoot> <g + transform="translate(0,-59.266668)" + id="g1692"> + <rect + style="opacity:1;vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect1686" + width="138.71727" + height="10.583334" + x="30.049105" + y="11.438988" + ry="1.2288305" + rx="2.6726952" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444447px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="30.56529" + y="10.287522" + id="text1690"><tspan + sodipodi:role="line" + id="tspan1688" + x="30.56529" + y="10.287522" + style="font-size:3.52777767px;stroke-width:0.26458332px">/dev/sda</tspan></text> + </g> + <g + id="g1809"> + <rect + style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect1694" + height="8.5270004" + x="65.470192" + y="-46.799465" + rx="0" + ry="0" + width="102" /> + <text + id="text1698" + y="-41.041645" + x="101.29373" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444447px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:4.23333311px;stroke-width:0.26458332px" + y="-41.041645" + x="101.29373" + id="tspan1696" + sodipodi:role="line">/var - RAID1</tspan></text> + </g> + <g + transform="translate(5.2916667,-59.266668)" + id="g1708"> + <rect + width="8" + ry="0" + rx="0" + y="12.467204" + x="35.345284" + height="8.5270004" + id="rect1702" + style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444447px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.075283" + y="18.225021" + id="text1706"><tspan + sodipodi:role="line" + id="tspan1704" + x="38.075283" + y="18.225021" + style="font-size:4.23333311px;stroke-width:0.26458332px">/</tspan></text> + </g> + <g + id="g1720" + transform="translate(0,-58.208335)"> + <rect + style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect1710" + height="8.5270004" + x="31.345285" + y="11.408872" + rx="0" + ry="0" + width="2" /> + <g + id="g1718"> + <text + id="text1714" + y="26.918764" + x="37.818638" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444447px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222223px;stroke-width:0.26458332px" + y="26.918764" + x="37.818638" + id="tspan1712" + sodipodi:role="line">BIOS</tspan></text> + <path + sodipodi:nodetypes="ccc" + inkscape:connector-curvature="0" + id="path1716" + d="m 32.339613,18.277837 v 7.635938 h 4.816223" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Sstart)" /> + </g> + </g> + <g + id="g1732" + transform="translate(0,-58.208335)"> + <rect + width="2" + ry="0" + rx="0" + y="11.408872" + x="33.345284" + height="8.5270004" + id="rect1722" + style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <g + id="g1730"> + <text + id="text1726" + y="23.978806" + x="37.939995" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="23.978806" + x="37.939995" + id="tspan1724" + sodipodi:role="line">/boot</tspan></text> + <path + sodipodi:nodetypes="ccc" + inkscape:connector-curvature="0" + id="path1728" + d="m 34.360837,18.277837 v 4.820159 h 2.794999" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker1271)" /> + </g> + </g> + <rect + style="opacity:1;vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect1736" + width="138.71727" + height="10.583334" + x="30.049105" + y="-26.131849" + ry="1.2288305" + rx="2.6726952" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444447px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="30.56529" + y="-27.283314" + id="text1740"><tspan + sodipodi:role="line" + id="tspan1738" + x="30.56529" + y="-27.283314" + style="font-size:3.52777767px;stroke-width:0.26458332px">/dev/sdb</tspan></text> + <rect + style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect1778" + width="5.2916665" + height="8.5270004" + x="35.345284" + y="-46.799465" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222223px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="39.147892" + y="38.451138" + id="text1782" + transform="rotate(-90)"><tspan + sodipodi:role="line" + id="tspan1780" + x="39.147892" + y="38.451138" + style="stroke-width:0.26458332px">swap</tspan></text> + <g + id="g1823" + transform="translate(0,21.695783)"> + <rect + width="102" + ry="0" + rx="0" + y="-46.799465" + x="65.470192" + height="8.5270004" + id="rect1817" + style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444447px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="101.29373" + y="-41.041645" + id="text1821"><tspan + sodipodi:role="line" + id="tspan1819" + x="101.29373" + y="-41.041645" + style="font-size:4.23333311px;stroke-width:0.26458332px">/var - RAID1</tspan></text> + </g> + <rect + width="34.124908" + ry="0" + rx="0" + y="-25.103683" + x="31.345285" + height="8.5270014" + id="rect1849" + style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.26458332;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444447px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="42.108551" + y="-19.345816" + id="text1853"><tspan + sodipodi:role="line" + id="tspan1851" + x="42.108551" + y="-19.345816" + style="font-size:4.23333311px;stroke-width:0.26458332px">/home</tspan></text> + </g> +</svg> diff --git a/static/img/partitionnement_2_disques_lvm.svg b/static/img/partitionnement_2_disques_lvm.svg new file mode 100644 index 0000000..dfac07c --- /dev/null +++ b/static/img/partitionnement_2_disques_lvm.svg @@ -0,0 +1,590 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="138.98186mm" + height="34.300232mm" + viewBox="0 0 138.98186 34.300232" + version="1.1" + id="svg8" + inkscape:version="1.1.2 (1:1.1+202202050950+0a00cf5339)" + sodipodi:docname="partitionnement_2_disques_lvm.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs2"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1271" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Sstart"> + <path + transform="matrix(0.2,0,0,0.2,1.2,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1269" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Sstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Sstart" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path967" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(0.2,0,0,0.2,1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path961" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.3013567" + inkscape:cx="150.99627" + inkscape:cy="25.742366" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1055" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:snap-global="true" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:pagecheckerboard="0" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-29.916813,-48.708551)"> + <flowRoot + xml:space="preserve" + id="flowRoot852" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="scale(0.26458333)"><flowRegion + id="flowRegion854"><rect + id="rect856" + width="524.28577" + height="40.000011" + x="113.57142" + y="163.23396" /></flowRegion><flowPara + id="flowPara858" /></flowRoot> + <rect + rx="2.6726952" + ry="1.2288305" + y="114.62648" + x="30.049105" + height="10.583334" + width="138.71727" + id="rect929" + style="vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + id="text933" + y="113.47504" + x="30.56529" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:3.52778px;stroke-width:0.264583px" + y="113.47504" + x="30.56529" + id="tspan931" + sodipodi:role="line">/dev/sdb</tspan></text> + <rect + style="vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect947" + width="138.71727" + height="10.583334" + x="30.049105" + y="129.97235" + ry="1.2288305" + rx="2.6726952" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="30.56529" + y="128.82089" + id="text951"><tspan + sodipodi:role="line" + id="tspan949" + x="30.56529" + y="128.82089" + style="font-size:3.52778px;stroke-width:0.264583px">/dev/sdc</tspan></text> + <g + transform="translate(0,83.608337)" + id="g971"> + <rect + style="opacity:1;vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect965" + width="138.71727" + height="10.583334" + x="30.049105" + y="11.438988" + ry="1.2288305" + rx="2.6726952" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="30.56529" + y="10.287522" + id="text969"><tspan + sodipodi:role="line" + id="tspan967" + x="30.56529" + y="10.287522" + style="font-size:3.52778px;stroke-width:0.264583px">/dev/sda</tspan></text> + </g> + <g + id="g16799"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect973" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text977" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan15721">LVM : /, /home, /var, /data & swap</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan15725">RAID5 + chiffrement</tspan></text> + </g> + <g + id="g16793"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect981" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text985"><tspan + sodipodi:role="line" + id="tspan983" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan11489">RAID1</tspan></text> + </g> + <g + id="g16910"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect989" + height="8.5270004" + x="31.345285" + y="96.075539" + rx="0" + ry="0" + width="2" /> + <g + id="g997" + transform="translate(0,82.020838)"> + <text + id="text993" + y="26.918764" + x="37.818638" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="26.918764" + x="37.818638" + id="tspan991" + sodipodi:role="line">BIOS ou EFI</tspan></text> + <path + sodipodi:nodetypes="ccc" + inkscape:connector-curvature="0" + id="path995" + d="m 32.339613,21.449449 v 4.464326 h 4.816223" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Sstart)" /> + </g> + </g> + <g + id="g16942" + transform="translate(0,19.579115)"> + <g + id="g16920"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect16912" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text16918" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan16914">LVM : /, /home, /var, /data & swap</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan16916">RAID5 + chiffrement</tspan></text> + </g> + <g + id="g16930"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect16922" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text16928"><tspan + sodipodi:role="line" + id="tspan16924" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan16926">RAID1</tspan></text> + </g> + </g> + <g + id="g16970" + transform="translate(0,34.924947)"> + <g + id="g16958"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect16950" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text16956" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan16952">LVM : /, /home, /var, /data & swap</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan16954">RAID5 + chiffrement</tspan></text> + </g> + <g + id="g16968"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect16960" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text16966"><tspan + sodipodi:role="line" + id="tspan16962" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan16964">RAID1</tspan></text> + </g> + </g> + <rect + rx="2.6726952" + ry="1.2288305" + y="72.293159" + x="30.049105" + height="10.583334" + width="138.71727" + id="rect26593" + style="vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + id="text26597" + y="71.141708" + x="30.56529" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:3.52778px;stroke-width:0.264583px" + y="71.141708" + x="30.56529" + id="tspan26595" + sodipodi:role="line">/dev/sdb</tspan></text> + <g + transform="translate(0,41.275003)" + id="g26605"> + <rect + style="opacity:1;vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect26599" + width="138.71727" + height="10.583334" + x="30.049105" + y="11.438988" + ry="1.2288305" + rx="2.6726952" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="30.56529" + y="10.287522" + id="text26603"><tspan + sodipodi:role="line" + id="tspan26601" + x="30.56529" + y="10.287522" + style="font-size:3.52778px;stroke-width:0.264583px">/dev/sda</tspan></text> + </g> + <g + id="g26615" + transform="translate(0,-42.333333)"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect26607" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text26613" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan26609">LVM : /, /home, /var, /data & swap</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan26611">RAID1 + chiffrement</tspan></text> + </g> + <g + id="g26625" + transform="translate(0,-42.333333)"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect26617" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text26623"><tspan + sodipodi:role="line" + id="tspan26619" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan26621">RAID1</tspan></text> + </g> + <g + id="g26637" + transform="translate(0,-42.333333)"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect26627" + height="8.5270004" + x="31.345285" + y="96.075539" + rx="0" + ry="0" + width="2" /> + <g + id="g26635" + transform="translate(0,82.020838)"> + <text + id="text26631" + y="26.918764" + x="37.818638" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="26.918764" + x="37.818638" + id="tspan26629" + sodipodi:role="line">BIOS ou EFI</tspan></text> + <path + sodipodi:nodetypes="ccc" + inkscape:connector-curvature="0" + id="path26633" + d="m 32.339613,21.449449 v 4.464326 h 4.816223" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Sstart)" /> + </g> + </g> + <g + id="g26659" + transform="translate(0,-22.754219)"> + <g + id="g26647"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect26639" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text26645" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan26641">LVM : /, /home, /var, /data & swap</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan26643">RAID1 + chiffrement</tspan></text> + </g> + <g + id="g26657"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect26649" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text26655"><tspan + sodipodi:role="line" + id="tspan26651" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan26653">RAID1</tspan></text> + </g> + </g> + </g> +</svg> diff --git a/static/img/partitionnement_3_disques.svg b/static/img/partitionnement_3_disques.svg new file mode 100644 index 0000000..8203f5c --- /dev/null +++ b/static/img/partitionnement_3_disques.svg @@ -0,0 +1,394 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="138.98186mm" + height="49.646091mm" + viewBox="0 0 138.98186 49.646092" + version="1.1" + id="svg8" + inkscape:version="1.1.2 (1:1.1+202202050950+0a00cf5339)" + sodipodi:docname="partitionnement_3_disques.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs2"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1271" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Sstart"> + <path + transform="matrix(0.2,0,0,0.2,1.2,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1269" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Sstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Sstart" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path967" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(0.2,0,0,0.2,1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path961" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="4.5628703" + inkscape:cx="95.225149" + inkscape:cy="62.789425" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1055" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:snap-global="true" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:pagecheckerboard="0" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-29.916813,-91.041885)"> + <flowRoot + xml:space="preserve" + id="flowRoot852" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="scale(0.26458333)"><flowRegion + id="flowRegion854"><rect + id="rect856" + width="524.28577" + height="40.000011" + x="113.57142" + y="163.23396" /></flowRegion><flowPara + id="flowPara858" /></flowRoot> + <rect + rx="2.6726952" + ry="1.2288305" + y="114.62648" + x="30.049105" + height="10.583334" + width="138.71727" + id="rect929" + style="vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + id="text933" + y="113.47504" + x="30.56529" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:3.52778px;stroke-width:0.264583px" + y="113.47504" + x="30.56529" + id="tspan931" + sodipodi:role="line">/dev/sdb</tspan></text> + <rect + style="vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect947" + width="138.71727" + height="10.583334" + x="30.049105" + y="129.97235" + ry="1.2288305" + rx="2.6726952" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="30.56529" + y="128.82089" + id="text951"><tspan + sodipodi:role="line" + id="tspan949" + x="30.56529" + y="128.82089" + style="font-size:3.52778px;stroke-width:0.264583px">/dev/sdc</tspan></text> + <g + transform="translate(0,83.608337)" + id="g971"> + <rect + style="opacity:1;vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect965" + width="138.71727" + height="10.583334" + x="30.049105" + y="11.438988" + ry="1.2288305" + rx="2.6726952" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="30.56529" + y="10.287522" + id="text969"><tspan + sodipodi:role="line" + id="tspan967" + x="30.56529" + y="10.287522" + style="font-size:3.52778px;stroke-width:0.264583px">/dev/sda</tspan></text> + </g> + <g + id="g16799"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect973" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text977" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan15721">LVM : /, /home, /var, /data...</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan15725">RAID5 + chiffrement</tspan></text> + </g> + <g + id="g16793"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect981" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text985"><tspan + sodipodi:role="line" + id="tspan983" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan11489">RAID1</tspan></text> + </g> + <g + id="g16910"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect989" + height="8.5270004" + x="31.345285" + y="96.075539" + rx="0" + ry="0" + width="2" /> + <g + id="g997" + transform="translate(0,82.020838)"> + <text + id="text993" + y="26.918764" + x="37.818638" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="26.918764" + x="37.818638" + id="tspan991" + sodipodi:role="line">BIOS ou EFI</tspan></text> + <path + sodipodi:nodetypes="ccc" + inkscape:connector-curvature="0" + id="path995" + d="m 32.339613,21.449449 v 4.464326 h 4.816223" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Sstart)" /> + </g> + </g> + <g + id="g16942" + transform="translate(0,19.579115)"> + <g + id="g16920"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect16912" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text16918" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan16914">LVM : /, /home, /var, /data...</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan16916">RAID5 + chiffrement</tspan></text> + </g> + <g + id="g16930"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect16922" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text16928"><tspan + sodipodi:role="line" + id="tspan16924" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan16926">RAID1</tspan></text> + </g> + </g> + <g + id="g16970" + transform="translate(0,34.924947)"> + <g + id="g16958"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect16950" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text16956" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan16952">LVM : /, /home, /var, /data...</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan16954">RAID5 + chiffrement</tspan></text> + </g> + <g + id="g16968"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect16960" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text16966"><tspan + sodipodi:role="line" + id="tspan16962" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan16964">RAID1</tspan></text> + </g> + </g> + </g> +</svg> diff --git a/static/img/partitionnement_3_disques_lvm.svg b/static/img/partitionnement_3_disques_lvm.svg new file mode 100644 index 0000000..8b55ed1 --- /dev/null +++ b/static/img/partitionnement_3_disques_lvm.svg @@ -0,0 +1,394 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="138.98186mm" + height="49.646091mm" + viewBox="0 0 138.98186 49.646092" + version="1.1" + id="svg8" + inkscape:version="1.1.2 (1:1.1+202202050950+0a00cf5339)" + sodipodi:docname="partitionnement_3_disques_lvm.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs2"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1271" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Sstart"> + <path + transform="matrix(0.2,0,0,0.2,1.2,0)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + id="path1269" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Sstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Sstart" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path967" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(0.2,0,0,0.2,1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path961" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,4,0)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.6696464" + inkscape:cx="316.53409" + inkscape:cy="154.22427" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1055" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:snap-global="true" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:pagecheckerboard="0" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-29.916813,-91.041885)"> + <flowRoot + xml:space="preserve" + id="flowRoot852" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.3333px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + transform="scale(0.26458333)"><flowRegion + id="flowRegion854"><rect + id="rect856" + width="524.28577" + height="40.000011" + x="113.57142" + y="163.23396" /></flowRegion><flowPara + id="flowPara858" /></flowRoot> + <rect + rx="2.6726952" + ry="1.2288305" + y="114.62648" + x="30.049105" + height="10.583334" + width="138.71727" + id="rect929" + style="vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + id="text933" + y="113.47504" + x="30.56529" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:3.52778px;stroke-width:0.264583px" + y="113.47504" + x="30.56529" + id="tspan931" + sodipodi:role="line">/dev/sdb</tspan></text> + <rect + style="vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect947" + width="138.71727" + height="10.583334" + x="30.049105" + y="129.97235" + ry="1.2288305" + rx="2.6726952" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="30.56529" + y="128.82089" + id="text951"><tspan + sodipodi:role="line" + id="tspan949" + x="30.56529" + y="128.82089" + style="font-size:3.52778px;stroke-width:0.264583px">/dev/sdc</tspan></text> + <g + transform="translate(0,83.608337)" + id="g971"> + <rect + style="opacity:1;vector-effect:none;fill:#f2f2f2;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect965" + width="138.71727" + height="10.583334" + x="30.049105" + y="11.438988" + ry="1.2288305" + rx="2.6726952" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="30.56529" + y="10.287522" + id="text969"><tspan + sodipodi:role="line" + id="tspan967" + x="30.56529" + y="10.287522" + style="font-size:3.52778px;stroke-width:0.264583px">/dev/sda</tspan></text> + </g> + <g + id="g16799"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect973" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text977" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan15721">LVM : /, /home, /var, /data & swap</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan15725">RAID5 + chiffrement</tspan></text> + </g> + <g + id="g16793"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect981" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text985"><tspan + sodipodi:role="line" + id="tspan983" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan11489">RAID1</tspan></text> + </g> + <g + id="g16910"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect989" + height="8.5270004" + x="31.345285" + y="96.075539" + rx="0" + ry="0" + width="2" /> + <g + id="g997" + transform="translate(0,82.020838)"> + <text + id="text993" + y="26.918764" + x="37.818638" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="26.918764" + x="37.818638" + id="tspan991" + sodipodi:role="line">BIOS ou EFI</tspan></text> + <path + sodipodi:nodetypes="ccc" + inkscape:connector-curvature="0" + id="path995" + d="m 32.339613,21.449449 v 4.464326 h 4.816223" + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Sstart)" /> + </g> + </g> + <g + id="g16942" + transform="translate(0,19.579115)"> + <g + id="g16920"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect16912" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text16918" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan16914">LVM : /, /home, /var, /data & swap</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan16916">RAID5 + chiffrement</tspan></text> + </g> + <g + id="g16930"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect16922" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text16928"><tspan + sodipodi:role="line" + id="tspan16924" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan16926">RAID1</tspan></text> + </g> + </g> + <g + id="g16970" + transform="translate(0,34.924947)"> + <g + id="g16958"> + <rect + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + id="rect16950" + height="8.5270042" + x="43.345284" + y="96.075539" + rx="0" + ry="0" + width="124.1249" /> + <text + id="text16956" + y="99.701218" + x="80.442436" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="99.701218" + x="80.442436" + sodipodi:role="line" + id="tspan16952">LVM : /, /home, /var, /data & swap</tspan><tspan + style="font-size:2.82222px;stroke-width:0.264583px" + y="103.229" + x="80.442436" + sodipodi:role="line" + id="tspan16954">RAID5 + chiffrement</tspan></text> + </g> + <g + id="g16968"> + <rect + width="10" + ry="0" + rx="0" + y="96.075539" + x="33.345284" + height="8.5270004" + id="rect16960" + style="vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#141414;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;line-height:125%;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + x="38.384792" + y="99.716736" + id="text16966"><tspan + sodipodi:role="line" + id="tspan16962" + x="38.384792" + y="99.716736" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px">/boot</tspan><tspan + sodipodi:role="line" + x="38.384792" + y="103.24451" + style="font-size:2.82222px;text-align:center;text-anchor:middle;stroke-width:0.264583px" + id="tspan16964">RAID1</tspan></text> + </g> + </g> + </g> +</svg> diff --git a/templates/_nav.html b/templates/_nav.html index 92ed4c5..9b76c96 100644 --- a/templates/_nav.html +++ b/templates/_nav.html @@ -7,16 +7,24 @@ {% for s in sec.subsections %} {% set p = get_section(path=s) %} <div class="toc-item"> - {% if p.path == current.path %} - <a class="subtext" href="{{ p.permalink | safe}}">⯆ <b>{{ p.title }}</b></a> - {% elif hierarchy is containing(s) %} - <a class="subtext" href="{{ p.permalink | safe}}">⯆ {{ p.title }}</a> + {% if p.subsections or p.pages %} + {% if p.path == current.path %} + <a class="subtext" href="{{ p.permalink | safe}}">⯆ <b>{{ p.title }}</b></a> + {% elif hierarchy is containing(s) %} + <a class="subtext" href="{{ p.permalink | safe}}">⯆ {{ p.title }}</a> + {% else %} + <a class="subtext" href="{{ p.permalink | safe}}">⯈ {{ p.title }}</a> + {% endif %} + {% if hierarchy is containing(s) or current.path == p.path %} + {% if level + 1 < maxlevel %} + {{ nav::navsection(hierarchy=hierarchy,level=level + 1,current=current) }} + {% endif %} + {% endif %} {% else %} - <a class="subtext" href="{{ p.permalink | safe}}">⯈ {{ p.title }}</a> - {% endif %} - {% if hierarchy is containing(s) or current.path == p.path %} - {% if level + 1 < maxlevel %} - {{ nav::navsection(hierarchy=hierarchy,level=level + 1,current=current) }} + {% if p.path == current.path %} + <a class="subtext" href="{{p.permalink | safe}}"><b>{{ p.title }}</b></a> + {% else %} + <a class="subtext" href="{{p.permalink | safe}}">{{ p.title }}</a> {% endif %} {% endif %} </div> @@ -27,9 +35,9 @@ {% for p in sec.pages %} <div class="toc-item"> {% if p.path == current.path %} - <a class="subtext" href="{{p.permalink | safe}}"> <b>{{ p.title }}</b></a> + <a class="subtext" href="{{p.permalink | safe}}"><b>{{ p.title }}</b></a> {% else %} - <a class="subtext" href="{{p.permalink | safe}}"> {{ p.title }}</a> + <a class="subtext" href="{{p.permalink | safe}}">{{ p.title }}</a> {% endif %} </div> {% endfor %} @@ -38,7 +46,7 @@ {% macro navmenu(current) %} {% if current.ancestors %} - {% set hierarchy = current.ancestors | concat(with=current.relative_path) %} + {% set hierarchy = current.ancestors | slice(start=1) | concat(with=current.relative_path) %} {% else %} {% set hierarchy = [current.relative_path] %} {% endif %} |