added relevant files from prod to repo

This commit is contained in:
ADRN 2023-11-22 21:55:21 +01:00
parent 0364444e6a
commit 78b68a3cd9
7 changed files with 77 additions and 0 deletions

8
static/@404.html Normal file
View File

@ -0,0 +1,8 @@
<!DOCTYPE html><html lang="fr"><head><meta charset="utf-8"><title>💮💮 deuxfleurs - deuxfleurs</title><link rel="stylesheet" href="/css/main.css"><meta name="viewport" content="width=device-width, initial-scale=1.0"></head><body><aside><header><a class="mobile_inline" id="menu" href="#"><svg viewBox="0 0 100 80" width="40" height="40"><rect width="100" height="20"></rect><rect y="30" width="100" height="20"></rect><rect y="60" width="100" height="20"></rect></svg></a><h1><a href="/">deuxfleurs</a></h1><nav class="computer_block"><section class="center"><img alt="emoji fleur" src="/img/flower.svg" width="40"> <img alt="emoji fleur" src="/img/flower.svg" width="40"></section><ul><li><a href="https://plume.deuxfleurs.fr/timeline/1">Actualités</a></li><li><a href="https://man.deuxfleurs.fr">Wiki</a></li><li><a href="https://guichet.deuxfleurs.fr">Mon compte</a></li></ul><hr><ul><li><a href="/CGU.html">CGU</a></li><li><a href="/Gestion des risques.html">Gestion des risques</a></li><li><a href="/Mentions légales.html">Mentions légales</a></li><li><a href="/Sources.html">Sources</a></li></ul></nav></header></aside><main><section><h1>404 - Page non trouvée</h1><p>La page que vous cherchez n'existe pas sur ce site web.</p><p>Si vous pensez que c'est une erreur, les informations pour nous contacter sont disponibles sur notre page d'accueil.</p></section></main><script>(_ => {
const hamburger = document.getElementById('menu')
hamburger.onclick = _ => {
const nav = document.querySelector('body > aside > header > nav')
console.log(nav.style.display)
nav.style.display = nav.style.display != 'block' ? 'block' : 'none'
}
})()</script></body></html>

8
static/@jitsi.html Normal file
View File

@ -0,0 +1,8 @@
<!DOCTYPE html><html lang="fr"><head><meta charset="utf-8"><title>💮💮 deuxfleurs - Visioconférence</title><link rel="stylesheet" href="/css/main.css"><meta name="viewport" content="width=device-width, initial-scale=1.0"></head><body><aside><header><a class="mobile_inline" id="menu" href="#"><svg viewBox="0 0 100 80" width="40" height="40"><rect width="100" height="20"></rect><rect y="30" width="100" height="20"></rect><rect y="60" width="100" height="20"></rect></svg></a><h1><a href="/">deuxfleurs</a></h1><nav class="computer_block"><section class="center"><img alt="emoji fleur" src="/img/flower.svg" width="40"> <img alt="emoji fleur" src="/img/flower.svg" width="40"></section><ul><li><a href="https://plume.deuxfleurs.fr/timeline/1">Actualités</a></li><li><a href="https://wiki.deuxfleurs.fr">Wiki</a></li><li><a href="https://guichet.deuxfleurs.fr">Mon compte</a></li></ul><hr><ul><li><a href="/CGU.html">CGU</a></li><li><a href="/Gestion des risques.html">Gestion des risques</a></li><li><a href="/Mentions légales.html">Mentions légales</a></li></ul></nav></header></aside><main><h4 class="spacing"> Cette page a changé d'adresse : <a href="/Guide/Visioconférence.html">cliquez ici pour être redirigé</a></h4></main><script>(_ => {
const hamburger = document.getElementById('menu')
hamburger.onclick = _ => {
const nav = document.querySelector('body > aside > header > nav')
console.log(nav.style.display)
nav.style.display = nav.style.display != 'block' ? 'block' : 'none'
}
})()</script></body></html>

View File

@ -0,0 +1,13 @@
<!DOCTYPE html><html lang="fr"><head><meta charset="utf-8"><title>💮💮 deuxfleurs - Gestion des risques</title><link rel="stylesheet" href="/css/main.css"><meta name="viewport" content="width=device-width, initial-scale=1.0"></head><body><aside><header><a class="mobile_inline" id="menu" href="#"><svg viewBox="0 0 100 80" width="40" height="40"><rect width="100" height="20"></rect><rect y="30" width="100" height="20"></rect><rect y="60" width="100" height="20"></rect></svg></a><h1><a href="/">deuxfleurs</a></h1><nav class="computer_block"><section class="center"><img alt="emoji fleur" src="/img/flower.svg" width="40"> <img alt="emoji fleur" src="/img/flower.svg" width="40"></section><ul><li><a href="https://plume.deuxfleurs.fr/timeline/1">Actualités</a></li><li><a href="https://man.deuxfleurs.fr">Wiki</a></li><li><a href="https://guichet.deuxfleurs.fr">Mon compte</a></li></ul><hr><ul><li><a href="/CGU.html">CGU</a></li><li><a class="selected" href="/Gestion des risques.html">Gestion des risques</a></li><li><a href="/Mentions légales.html">Mentions légales</a></li><li><a href="/Sources.html">Sources</a></li></ul></nav></header></aside><main><section><h1>Gestion des risques</h1><p>Un risque se définit par la combinaison d'un danger, c'est à dire un évènement redouté, et sa probabilité d'occurence.
La gestion des risques consiste à minimiser les risques en les évaluant et en mettant en place des solutions pour réduire leur impact.</p><h2>🧰 Risques matériels</h2><h3>Panne de composants informatiques</h3><p><b>Définition du risque</b>: Un serveur est composé d'un ensemble de pièces avec une durée de vie limitée. La panne d'une de ces pièces cause une interruption de service et possiblement une perte de données (comme dans le cas d'un disque dur par exemple). La probabilité de ces pannes est importante car certains composants ont une durée de vie limité, comme les disques durs, et de plus nous utilisons du matériel reconditionné qui a donc déjà été utilisé.</p><p><b>Mesure mise en place</b>: Nous avons à disposition des pièces de rechange pour pouvoir réparer rapidement nos serveurs. De plus, nous avons en permanence plusieurs machines en production de sorte que lorsque l'une d'elle tombe en panne, les services qu'elle gérait sont automatiquement basculés sur les autres machines fonctionnelles. Les données sont répliquées sur 3 disques durs différents, de sorte que si un disque dur tombe en panne, cette dernière est toujours disponible sur 2 autres disques.</p><h3>Bug logiciel</h3><p><b>Définition du risque</b>: Un bug logiciel peut rendre un service indisponible voire impliquer une perte de données. Cette indisponibilité et cette perte de donnée, contrairement à une panne matériel, peut se propager à l'ensemble de nos serveurs.</p><p><b>Mesure mise en place</b>: Les données, en plus d'être répliquées automatiquement, sont périodiquement sauvegardées via un logiciel indépendant sur une période d'au moins 2 mois sur un site distant (Suresnes), de sorte que le logiciel qui fournisse le service n'ait pas accès aux données de sauvegardes et ne puisse donc pas les effacer. Les services quant à eux sont définis déclarativement, dans chaque modification est archivée, de sorte qu'il est possible de revenir sur une version antérieure du service qui soit stable.</p><h3>Panne du réseau électrique ou internet</h3><p><b>Définition du risque</b>: Nous faisons appel à des prestataires externe pour l'électricité (eg. EDF) et la connexion Internet (eg. Free). Lors de travaux dans la rue, de tension sur le réseau (eg. froid ou confinement), ou simplement d'erreur de gestion, ces réseaux peuvent être coupés localement ou au niveau national. En résulte une indisponibilité des services pendant la coupure.</p><p><b>Mesure mise en place</b>: Notre infrastructure est répartie sur des zones éloignées géographiquement (aujourd'hui Rennes et Orsay), de sorte qu'une panne locale ne nécessitera que de migrer les services d'une zone à l'autre. Pour le cas d'une panne au niveau national, nous acceptons ce risque : il est très faible et, la plupart du temps, le service est rétabli en quelques heures.</p><h3>Panne des autres prestataires et tiers-parties</h3><p> <b>Définition du risque</b>: Deuxfleurs fait appel à un certains nombre de prestataires et tiers parties pour fournir ses services : bureau d'enregistrement DNS (Gandi), Hébergeur DNS (Gandi), certificats X.509 (Let's Encrypt), système d'exploitation (NixOS, Debian), logiciels (Docker Hub, Github, etc.). La panne ou le blocage par une de ces tiers-parties impacteraient les services de Deuxfleurs.</p><p><b>Mesure mise en place</b>: Nous essayons de limiter le nombre de prestataires que nous utilisons et évitons de verrouiller fortement nos choix technologiques vis à vis d'un fournisseur particulier.
En dehors de ces points, nous acceptons ces risques.</p><h2>😵 Risques humains</h2><h3>Erreur d'administration</h3><p><b>Définition du risque</b>: Une erreur d'administration des services peut aboutir à une interruption de services et à une perte de données sur l'ensemble de nos serveurs. Elle peut également générer beaucoup de stress pour la personne en charge de l'administration.</p><p><b>Mesure mise en place</b>: Les données, en plus d'être répliquées automatiquement, sont périodiquement sauvegardées via un logiciel indépendant sur une période d'au moins 2 mois sur un site distant (Suresnes), de sorte que le logiciel qui fournisse le service n'ait pas accès aux données de sauvegardes et ne puisse donc pas les effacer. Les services quant à eux sont définis déclarativement, dans chaque modification est archivée, de sorte qu'il est possible de revenir sur une version antérieure du service qui soit stable. En cas d'erreur, la personne en charge de l'administration doit demander un accompagnement ou un relai pour limiter les risques d'aggravement de la situation et ne pas avoir à supporter cette situation stressante seule.</p><h3>Absence d'astreinte</h3><p><b>Définition du risque</b>: Que ce soit dans les datacenters au niveau matériel, ou dans les services informatiques, au niveau logiciel, de nombreuses organisations mettent en place des astreintes.
Autrement dit, une ou plusieurs personnes identifiées doivent se rendre disponible sur des périodes données pour pouvoir intervenenir rapidement sur les serveurs.
Dans le cas de Deuxfleurs, une astreinte empêcherait une personne de quitter son domicile pour des vacances ou même rendre visite à sa famille !</p><p><b>Mesure mise en place</b>: Nous faisons en sorte d'avoir des serveurs chez des membres différents et d'avoir plusieurs personnes en mesure de réaliser une même opération de maintenance.
Si un problème devait arriver pendant l'absence de la personne concernée, un autre membre devrait pouvoir prendre le relai dans les heures ou les jours qui viennent, par exemple en migrant les services chez lui ou en le réparant à distance.</p><h3>Perte d'expertise</h3><p><b>Définition du risque</b>: L'infrastructure que nous avons déployée demande des connaissances avancées en informatique détenues par une fraction des membres de l'association. Si cette fraction venait à quitter l'association, la maintenance de ses services pourrait ne plus être réalisée par les membres restants, mettant en péril sa pérennité.</p><p><b>Mesure mise en place</b>: Nous essayons d'avoir toujours au moins deux personnes en mesure de réaliser une tâche. Nous essayons de documenter et standardiser notre infrastructure.</p><h3>Risques juridiques</h3><p><b>Définition du risque</b>: Deuxfleurs pourrait enfreindre la loi et voir sa pérennité engagée en cas de procès.</p><p><b>Mesure mise en place</b>: Nous faisons une veille juridique concernant les hébergeurs. Nous mitigeons aussi ce risque via la co-optation qui permet de contrôler notre croissance et les personnes qui nous rejoignent.</p><h2>👿 Malveillance</h2><h3>Attaque informatique</h3><p><b>Définition du risque</b>: Une attaque informatique, venant d'un·e administrateur·ice ou d'une personne extérieure, peut aboutir à l'indisponibilité de nos services, à une perte de données, mais aussi à la fuite de ces dernières.</p><p><b>Mesure mise en place</b>: Pour se protéger d'un·e administrateur·ice malveillant·e, le groupe d'administrateur·ices existant ne recrute que de nouvelles personnes sur cooptation et après avoir jugé cette personne de confiance. Nous prévoyions également de chiffrer de plus en plus de données côté client, de sorte qu'une personne en charge de l'administration ne soit pas en mesure de lire le contenu stocké sur les serveurs. Pour se protéger d'une personne extérieure, nous maintenons notre système à jour et avons entamé une démarche de défense en profondeur.</p><h3>Vol du matériel</h3><p><b>Définition du risque</b>: Une personne entrant par effraction chez un de nos membres pourrait voler les ordinateurs. Cet évènement peut impacter la disponibilité de nos services, l'intégrité de nos données, mais aussi la confidentialité de ces dernières.</p><p><b>Mesure mise en place</b>: Nous acceptons ce risque pour le moment. Le chiffrement côté client, pour les services le supportant, permet de protéger la confidentialité des données. Nous prévoyions à terme de chiffrer les disques durs à froid en plus.</p><h3>Abus des services</h3><p><b>Définition du risque</b>: Une personne ayant des accès au service, où se les aillant fait voler, peut opérer un déni de service sur notre infrastructure, ou alors nuire à la réputation de notre service sur un réseau fédéré (eg. spam via email). Cela entraine une indisponibilité des services et/ou une dégradation plus ou moins durable de la qualité de ces derniers.</p><p><b>Mesure mise en place</b>: Nous mitigeons actuellement ce risque via la cooptation, où nous faisons confiance aux nouveaux membres et les invitons à bien gérer leurs identifiants. </p></section></main><script>(_ => {
const hamburger = document.getElementById('menu')
hamburger.onclick = _ => {
const nav = document.querySelector('body > aside > header > nav')
console.log(nav.style.display)
nav.style.display = nav.style.display != 'block' ? 'block' : 'none'
}
})()</script></body></html>

File diff suppressed because one or more lines are too long

38
static/Sources.html Normal file
View File

@ -0,0 +1,38 @@
<!DOCTYPE html><html lang="fr"><head><meta charset="utf-8"><title>💮💮 deuxfleurs - Sources</title><link rel="stylesheet" href="/css/main.css"><meta name="viewport" content="width=device-width, initial-scale=1.0"></head><body><aside><header><a class="mobile_inline" id="menu" href="#"><svg viewBox="0 0 100 80" width="40" height="40"><rect width="100" height="20"></rect><rect y="30" width="100" height="20"></rect><rect y="60" width="100" height="20"></rect></svg></a><h1><a href="/">deuxfleurs</a></h1><nav class="computer_block"><section class="center"><img alt="emoji fleur" src="/img/flower.svg" width="40"> <img alt="emoji fleur" src="/img/flower.svg" width="40"></section><ul><li><a href="https://plume.deuxfleurs.fr/timeline/1">Actualités</a></li><li><a href="https://man.deuxfleurs.fr">Wiki</a></li><li><a href="https://guichet.deuxfleurs.fr">Mon compte</a></li></ul><hr><ul><li><a href="/CGU.html">CGU</a></li><li><a href="/Gestion des risques.html">Gestion des risques</a></li><li><a href="/Mentions légales.html">Mentions légales</a></li><li><a class="selected" href="/Sources.html">Sources</a></li></ul></nav></header></aside><main><section><h1>Accéder aux sources des logiciels utilisés</h1><p>Deuxfleurs utilise exclusivement des logiciels libres dans le cadre de son activité. Vous pouvez retrouver ici la liste des sources des logiciels utilisés.</p><ul>
<li><a href="https://packages.debian.org/">Debian</a></li>
<li><a href="https://github.com/NixOS">NixOS</a></li>
<li><a href="https://github.com/hashicorp/nomad">Nomad</a></li>
<li><a href="https://github.com/hashicorp/consul/">Consul</a></li>
<li><a href="https://git.deuxfleurs.fr/Deuxfleurs/garage">Garage</a></li>
<li><a href="https://git.deuxfleurs.fr/Deuxfleurs/tricot">Tricot</a></li>
<li><a href="https://git.deuxfleurs.fr/Deuxfleurs/bottin/">Bottin</a></li>
<li><a href="https://git.deuxfleurs.fr/Deuxfleurs/guichet/">Guichet</a></li>
<li><a href="https://git.deuxfleurs.fr/Deuxfleurs/diplonat/">Diplonat</a></li>
<li><a href="https://github.com/sorintlab/stolon">Stolon</a></li>
<li><a href="https://github.com/moby/moby">Docker</a></li>
<li><a href="https://github.com/ansible/ansible">Ansible</a></li>
<li><a href="https://github.com/harness/drone">Drone</a></li>
<li><a href="https://github.com/restic/restic">Restic</a></li>
<li><a href="https://github.com/xwiki-labs/cryptpad">Cryptpad</a></li>
<li><a href="https://github.com/inverse-inc/sogo">Sogo</a></li>
<li><a href="git.deuxfleurs.fr/Deuxfleurs/alps">alps</a></li>
<li><a href="https://github.com/matrix-org/synapse">Synapse</a></li>
<li><a href="https://github.com/vector-im/element-web">Element</a></li>
<li><a href="https://github.com/jitsi">Jitsi</a></li>
<li><a href="https://github.com/Plume-org/Plume">Plume</a></li>
<li><a href="https://github.com/FiloSottile/age">age</a></li>
<li><a href="https://github.com/minio/minio">Minio</a></li>
<li><a href="https://git.proxmox.com/">Proxmox</a></li>
<li><a href="https://github.com/grafana/grafana">Grafana</a></li>
<li><a href="https://github.com/prometheus/prometheus">Prometheus</a></li>
<li><a href="https://git.deuxfleurs.fr/Deuxfleurs/infrastructure">Infra (legacy)</a></li>
<li><a href="git.deuxfleurs.fr/Deuxfleurs/nixcfg">Infra (next)</a></li>
</ul>
</section></main><script>(_ => {
const hamburger = document.getElementById('menu')
hamburger.onclick = _ => {
const nav = document.querySelector('body > aside > header > nav')
console.log(nav.style.display)
nav.style.display = nav.style.display != 'block' ? 'block' : 'none'
}
})()</script></body></html>

BIN
static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

2
static/robots.txt Normal file
View File

@ -0,0 +1,2 @@
User-agent: *
Allow: /