Compare commits

..

14 Commits

Author SHA1 Message Date
227d440258 fix d'une typo dans l'adresse 2024-09-04 15:46:13 +02:00
Fratibus
2c2a2a6458 [doc] ajout commandes dans README 2024-08-24 14:39:51 +02:00
Meewan
6bc92e6a3d remove unused config 2024-08-24 13:26:44 +02:00
Meewan
1803c132a1 supression des adresses mails au profit du formulaire de contact 2024-08-24 13:19:18 +02:00
Meewan
da261f3193 fix css issue 2024-08-17 10:08:20 +02:00
Meewan
de1d7580a5 add contact form (no link yet) 2024-08-16 16:29:56 +02:00
6b2e607240 Relecture 2024-08-13 13:46:18 +02:00
Meewan
fa06428318 mise a jour de la politique de sauvegarde 2024-08-11 13:30:01 +02:00
Meewan
18d6d5f51e mise a jour de la description du matériel 2024-08-11 11:21:31 +02:00
Meewan
3750b5ea03 update address 2024-08-03 13:05:02 +02:00
af281dc2d0 fix accessibility 2023-08-27 20:31:49 +02:00
715caf01b0 cleaner redirection 2023-07-18 16:07:42 +02:00
7e27bc8d90 add backlink for mastodon 2023-07-17 22:39:47 +02:00
Meewan
7c9bc6fffd update website 2023-07-17 17:23:52 +02:00
14 changed files with 186 additions and 88 deletions

View File

@@ -2,4 +2,40 @@
Site web de l'association
Le script export.py genere un dossier build statique à déployer sur un serveur web.
Le script export.py génère un dossier build statique à déployer sur un serveur web.
## Tester en local
Créer un environnement python virtuel :
`python -m venv. venv`
Activer l'environnement virtuel :
`source .venv/bin/activate`
Check qu'on utilise bien l'environnement virtuel :
`which python`
Installer les dépendances :
`pip install -r requirements.txt`
Générer le site HTML via le script python :
`python export.py`
Autres arguments :
```
python export.py --help
usage: export.py [-h] [-o OUTPUT] [-f {gzip,folder,dev}] [-q]
Build website
options:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Output folder or file
-f {gzip,folder,dev}, --format {gzip,folder,dev}
Format output (either gzip, dev or folder)
-q, --quiet
```
Déployer le serveur web en local :
`python -m http.server -d build`

View File

@@ -3,5 +3,4 @@ from datetime import datetime
context = {
'generated_date': datetime.now(),
'site_name': 'Katzei',
'mail_key': '_fxvwk',
}

View File

@@ -1,3 +1,7 @@
html {
overflow-y: auto !important;
}
.logo
{
margin-right: 10px;
@@ -12,6 +16,7 @@
position: relative;
top: 2px;
}
#menu-toggle:checked + .navbar-menu
{
display: block;
@@ -39,7 +44,8 @@
width:100%;
}
#service_pro li::before, #service_con li::before {
#service_pro li::before, #service_con li::before
{
font-size: 1.2em;
font-weight: 500;
display: inline-block;
@@ -51,6 +57,7 @@
content: "\2295";
color:#25c425;
}
#service_con li::before
{
content: "\2296";
@@ -62,7 +69,6 @@
margin-bottom: 1.5em;
}
#service_infobox tr td
{
padding-left:5px;
@@ -90,6 +96,7 @@
{
margin-top: 2em !important;
}
@media screen and (min-width: 1022px)
{
#main
@@ -98,20 +105,23 @@
padding-top: 25px;
padding-bottom: 25px;
}
#service_infobox
{
border-left: 1px solid black;
min-width:300px;
}
.columns {
.columns
{
display: flex;
margin-left: -0.75rem;
margin-right: -0.75rem;
margin-top: -0.75rem;
}
.column {
.column
{
display: block;
flex-basis: auto;
flex-grow: 1;
@@ -123,9 +133,11 @@
@media screen and (max-width: 1023px)
{
html.has-navbar-fixed-top,
body.has-navbar-fixed-top{
body.has-navbar-fixed-top
{
padding-top: 6.5rem;
}
.navbar, .navbar-brand
{
min-height: 6.5rem;
@@ -137,41 +149,49 @@
max-height: 3.5rem;
}
.navbar-burger{
.navbar-burger
{
height: 6.5rem;
width: 12rem;
}
.navbar-burger span{
.navbar-burger span
{
height: 3px;
left: calc(50% - 16px);
width: 32px;
}
.navbar-burger span:nth-child(1){
.navbar-burger span:nth-child(1)
{
top: calc(50% - 12px);
}
.navbar-burger span:nth-child(2){
.navbar-burger span:nth-child(2)
{
top: calc(50% - 1px);
}
.navbar-burger span:nth-child(3){
.navbar-burger span:nth-child(3)
{
top: calc(50% + 10px);
}
.navbar-burger:hover{
.navbar-burger:hover
{
background-color: rgba(0, 0, 0, 0.05);
}
.navbar-dropdown{
.navbar-dropdown
{
font-size: 1.5rem;
padding-bottom: 1rem;
padding-top: 1rem;
padding-left: 48px;
}
.navbar-end .navbar-item{
.navbar-end .navbar-item
{
width: 40%;
height: 3.5rem;
display: inline-block;
@@ -179,7 +199,8 @@
padding:0;
margin:0;
}
.navbar-end .navbar-item img{
.navbar-end .navbar-item img
{
width:3.5rem;
}
@@ -227,10 +248,41 @@ li
}
.hardware tr td:nth-child(1)
{
width: 10ch;
width: 15ch;
}
.service-logo
{
min-height:150px;
}
.form-line>.input, .form-line>.textarea
{
border-color: #aaaaaa;
width:100%;
margin-bottom: 1em;
}
.form-line>.textarea
{
min-height: 25em;
resize: vertical;
}
.form-error
{
width: 100%;
border-radius: 4px;
margin-bottom: 1em;
}
.form-alert
{
background-color: rgba(255, 0, 0, 0.2);
}
.contact-form-embed
{
width: 100%;
height: 700px;
}

View File

@@ -5,7 +5,7 @@
Katzei
</h1>
<p>
Katzei est une association proposant un hébergement libre, éthique et auto-hébergé basée à Paris.
Katzei est une association proposant un hébergement libre, éthique et auto-hébergé basée à Nantes, Rennes et Louviers.
</p>
<h2 class="subtitle">
Libre
@@ -20,7 +20,7 @@
Éthique
</h2>
<p>
Katzei est membre du collectif <a href="https://chatons.org">CHATONS</a> et s'engage donc à en respecter <a href="https://chatons.org/fr/charte-et-manifeste#charte">la charte</a>.
Katzei est membre du collectif <a href="https://chatons.org">CHATONS</a> et s'engage donc à en respecter <a href="https://www.chatons.org/charte">la charte</a>.
</p>
<p>
Katzei ne revend pas vos données. Nous utilisons autant que possible des logiciels où les données sont chiffrées dans votre navigateur, ce qui fait que nous ne pouvons ni les lire ni les modifier.

View File

@@ -50,11 +50,10 @@
Comme nous l'avons dit, Katzei est une structure auto-hébergée. La principale raison idéologique de ce choix (outre l'indépendance et la maîtrise matérielle) porte sur la symétrie d'Internet : de par son architecture, il n'y a aucune raison technique qui empêche d'utiliser la connexion à Internet d'un particulier pour héberger des services.
</p>
<p>
Pour résoudre le problème de bande passante consommée, le serveur principal de Katzei est hébergé à Paris (le réseau électrique y est très stable) et derrière un accès Free en fibre optique. Free reste encore aujourd'hui l'un des opérateurs les plus pratiques pour faire de l'auto-hébergement à un prix décent (à titre de comparaison, OVH propose un accès intéressant pour l'auto-hébergement mais à 54€/mois quand Free offre un meilleur débit pour 35€/mois, et les autres opérateurs ne facilitant pas l'auto-hébergement).
Pour résoudre le problème de bande passante consommée, le serveur principal de Katzei est hébergé dans des Grandes villes (Nantes et Rennes) ou le réseau électrique est très stable et derrière un accès Free en fibre optique. Free reste encore aujourd'hui l'un des opérateurs les plus pratiques pour faire de l'auto-hébergement à un prix décent (à titre de comparaison, OVH propose un accès intéressant pour l'auto-hébergement mais à 54€/mois quand Free offre un meilleur débit pour 35€/mois, et les autres opérateurs ne facilitant pas l'auto-hébergement).
</p>
<p>
Pour résoudre le problème des adresses IP limitées (nous n'en avons qu'une seule pour l'instant), nous avons recours aux "<a href="https://fr.wikipedia.org/wiki/H%C3%A9bergement_virtuel">virtual hosts</a>" qui permettent de discriminer les requêtes ciblant un service ou un autre selon le nom de domaine demandé par l'utilisateur.
</p>
{% endblock %}

View File

@@ -11,7 +11,7 @@
Si l'architecture matérielle de Katzei est fortement liée à son côté auto-hébergé. Son architecture logicielle est, à l'inverse, beaucoup plus classique. Tous les services publiques étant rendus via le protocole HTTP(S), un serveur proxy reçoit toutes les requêtes destinées aux ports 80 et 443 et les redirige vers les services concernés. Les autres ports redirigent directement sur les machines gérant les services rendus sur ce port.
</p>
<p>
Par mesure de sécurité, afin de réduire les risques liés à de mauvaises manipulations, et pour réduire les temps dinterruption, chaque service est isolé dans une machine (le plus souvent virtuelle) qui lui est dédiée. Les services hébergés par Katzei ne sont pas tous directement utilisables par le public, certains peuvent aussi être internes à l'architecture logicielle pour assurer son bon fonctionnement. Par exemple nous gérons des services de DNS ou de mail qui ne sont pas proposés au public.
Par mesure de sécurité, afin de réduire les risques liés à de mauvaises manipulations, et pour réduire les temps dinterruption, chaque service est isolé dans une <a href="https://fr.wikipedia.org/wiki/Machine_virtuelle">machine virtuelle</a> qui lui est dédiée. Les services hébergés par Katzei ne sont pas tous directement utilisables par le public, certains peuvent aussi être internes pour assurer le bon fonctionnement des services. Par exemple nous gérons des services de DNS ou de mail qui ne sont pas proposés au public.
</p>
<h2 class="subtitle">
Système d'exploitation
@@ -53,9 +53,6 @@
<p>
Il existe beaucoup de systèmes de supervision comme <a href="https://www.nagios.org" >Nagios</a>, le système historique, ou des systèmes très modernes comme <a href="https://https://prometheus.io/">Prometheus</a>, permettant de récolter des centaines de paramètres sur les machines et de les agréger dans le temps. Notre infrastructure restant très simple, nous n'avons pas besoin de quelque chose d'aussi puissant que Prometheus et, vu le nombre de paramètres remontés, le configurer correctement pour nos besoins aurait été bien trop long. Nous avons finalement choisi d'utiliser <a href="https://icinga.com/">Icinga2</a>, un dérivé (complètement réécrit depuis) de Nagios, simple à configurer et avec une jolie interface.
</p>
<p>
<b>Attention :</b> si vous utilisez Icinga2 sous Debian Buster, le paquet présent sur les dépôts de la distribution a un défaut empêchant de l'utiliser comme agent. Pour éviter ce problème, il est préférable d'installer la version présente sur le dépôt de Icinga.
</p>
<h2 class="subtitle">
Mail
</h2>
@@ -72,7 +69,7 @@
Dans une vision (très) simplifiée, le DNS est l'annuaire qui permet d'associer un nom de domaine (par exemple "katzei.fr") à une adresse IP. Il existe deux type de serveurs DNS :
<ul>
<li>
<b>Les serveurs faisant autorité </b>: Ces serveur sont ceux détenant la vérité et la partageant avec les autres. Ils font référence sur le réseau et tout résolveur donnant une réponse en contradiction avec les serveurs faisant autorité sont considérés comme menteurs.
<b>Les serveurs faisant autorité </b>: Ces serveur sont ceux détenant la vérité et la partageant avec les autres. Ils font référence sur le réseau et tout résolveur donnant une réponse en contradiction avec les serveurs faisant autorité est considéré comme menteur.
</li>
<li>
<b>Les résolveurs DNS </b>: ces serveurs sont ceux que vous contactez pour connaître l'adresse d'un site. Ils contacteront les différents serveurs faisant autorité jusquà trouver l'adresse que vous cherchez. En général, vous utiliserez le résolveur DNS de votre fournisseur daccès à Internet.

View File

@@ -5,78 +5,82 @@
Matériel
</h1>
<p>
Pour assurer les différents rôles au sein de Katzei, nous avons besoin de 3 ordinateurs, un switch et un routeur. Comme vous le verrez par la suite, nous utilisons des machines puissantes pour ces différents rôles, mais autant de puissance n'est pas obligatoire. Certaines de ces machines étaient en fait déjà en possession de nos membres avant la création de Katzei, et leur usage n'est pas toujours strictement dédié à Katzei. Gardez en tête qu'il est tout à fait possible (mais moins amusant) de partir avec un simple <a href="https://fr.wikipedia.org/wiki/Raspberry_Pi" >Raspberry Pi</a> et deux disques durs externes.
Pour assurer les différents rôles au sein de Katzei, nous avons besoin de 3 ordinateurs, un switch et un routeur. Comme vous le verrez par la suite, nous utilisons des machines puissantes pour ces différents rôles, mais autant de puissance n'est pas obligatoire. Certaines de ces machines étaient en fait déjà en possession de nos membres avant la création de Katzei, et leur usage n'est pas toujours strictement dédié à Katzei. Gardez en tête qu'il est tout à fait possible (mais moins amusant) de partir avec un simple <a href="https://fr.wikipedia.org/wiki/Raspberry_Pi">Raspberry Pi</a> et deux disques durs externes.
</p>
<h2 class="subtitle">
Hyperviseur
Hyperviseur principal
</h2>
<p>
L'hyperviseur est le cœur de l'hébergeur. C'est lui qui héberge les différentes machines virtuelles aussi bien pour les services que pour le reste de l'infrastructure. Si vous faites une architecture du même type que Katzei, ce sera de loin la machine la plus cher (même s'il est possible de ne pas la payer trop cher en restant à l'écoute des bons plans).
L'hyperviseur principal est le cœur de katzei. C'est lui qui héberge les différentes machines virtuelles aussi bien pour les services que pour le reste de l'infrastructure. Si vous faites une architecture du même type que Katzei, ce sera de loin la machine la plus chère (même s'il est possible de limiter les couts en restant à l'écoute des bons plans).
</p>
<table class="hardware">
<tr>
<td>
CPU
</td>
<td>
<a href="https://www.amd.com/fr/products/cpu/amd-ryzen-7-2700#product-specs" target="_blank" rel="noopener noreferrer">AMD Ryzen 7 2700</a>
</td>
<td>CPU</td>
<td><a href="https://www.amd.com/fr/products/cpu/amd-ryzen-7-2700#product-specs">AMD Ryzen 7 2700</a></td>
</tr>
<tr>
<td>
RAM
</td>
<td>
48 Go
</td>
<td>RAM</td>
<td>64 Go</td>
</tr>
<tr>
<td>
Stockage
</td>
<td>
2×2To (Disques durs mécaniques) et 1×128Go (SSD SATA)
</td>
<td>Stockage SSD</td>
<td>128 Go</td>
</tr>
<tr>
<td>Stockage SSD</td>
<td>2 To</td>
</tr>
<tr>
<td>Stockage HDD</td>
<td>2 To</td>
</tr>
</table>
<h2 class="subtitle">
Supervision
Hyperviseur secondaire
</h2>
<p>
Cette machine a pour rôle de surveiller les autres et de prévenir les administrateurs si quelque chose se passe mal. Elle n'a pas besoin d'être très puissante, mais c'est une bonne idée de laisser cette tâche à une machine dédiée. Un simple Raspberry Pi avec un SSD externe suffirait si vous souhaiter l'isoler dans une machine physique indépendante.
<br/>
Suite à la fin de vie de la machine physique dédiée, nous avons fait le choix d'instancier la supervision dans une VM gérée par l'hyperviseur.
Cette machine sert à héberger de l'infrastructure sur un autre site. C'est notamment elle qui héberge le site d'<a href="https://status.katzei.fr">état des services</a> ou le deuxième backup des services. Nous utilisons une machine de recyclage pour laquelle nous avons changé les stockages. Cette machine étant construite par Lenovo, elle est très peu évolutive et la seule amélioration encore envisageable est de rajouter un peu de RAM.
</p>
<table class="hardware">
<tr>
<td>CPU</td>
<td><a href="https://ark.intel.com/content/www/fr/fr/ark/products/97128/intel-core-i7-7700-processor-8m-cache-up-to-4-20-ghz.html">Intel Core i7-7700</a></td>
</tr>
<tr>
<td>RAM</td>
<td>32 Go</td>
</tr>
<tr>
<td>Stockage SSD</td>
<td>2 To</td>
</tr>
<tr>
<td>Stockage HDD</td>
<td>4 To</td>
</tr>
</table>
<h2 class="subtitle">
Backup
</h2>
<p>
Comme pour la machine de supervision, cette machine est le recyclage du NAS d'un membre. Comme il est encore utilisé par le membre, seul sera référencé sur cette page l'espace de stockage dédié à Katzei. Pour la gestion des sauvegardes, il est possible de prendre un NAS tout fait mais il est souvent plus économique (et bien plus amusant) de construire soi-même la machine et de choisir les logiciels selon ses besoins. Pour ses performances, ne vous fiez pas à ses 4 cœurs, il utilise une architecture très basse consommation et est très peu puissant. La particularité de cette machine est d'utiliser une clef USB pour héberger le système d'exploitation afin de laisser le plus de place possible aux disques durs pour le stockage.
Comme pour l'hyperviseur secondaire, cette machine est un recyclage. Dans le cas présent, il sagit du NAS d'un membre. Etant encore utilisé par le membre, seul sera référencé sur cette page l'espace de stockage dédié à Katzei. Pour la gestion des sauvegardes, il est possible de prendre un NAS commercial mais il est souvent plus économique (et bien plus amusant) de construire soi-même la machine et de choisir les logiciels selon ses besoins. Concernant ses performances, il utilise une architecture très basse consommation et très peu puissante malgré ses 4 cœurs.
</p>
<table class="hardware">
<tr>
<td>
CPU
</td>
<td>
<a href="https://ark.intel.com/content/www/fr/fr/ark/products/91533/intel-celeron-processor-j3160-2m-cache-up-to-2-24-ghz.html" target="_blank" rel="noopener noreferrer">Intel Celeron J3160</a>
</td>
<td>CPU</td>
<td><a href="https://ark.intel.com/content/www/fr/fr/ark/products/91533/intel-celeron-processor-j3160-2m-cache-up-to-2-24-ghz.html">Intel Celeron J3160</a></td>
</tr>
<tr>
<td>
RAM
</td>
<td>
4 Go
</td>
<td>RAM</td>
<td>4 Go</td>
</tr>
<tr>
<td>
Stockage
</td>
<td>
1×4To (Disques durs mécaniques) 1×16Go (Clef USB)
</td>
<td>Stockage SSD</td>
<td>128 Go</td>
</tr>
<tr>
<td>Stockage HDD</td>
<td>4 To</td>
</tr>
</table>
<h2 class="subtitle">
@@ -91,7 +95,7 @@
Modèle
</td>
<td>
Freebox mini
Freebox pop
</td>
</tr>
</table>
@@ -99,7 +103,7 @@
Switch
</h2>
<p>
Les routeurs avec un grand nombre de ports Ethernet coûtent cher. Il est donc plus intéressant d'utiliser un switch comme routeur. Considérez-le comme une multi-prise pour pouvoir y brancher plus d'éléments. Le switch que nous utilisons n'est pas administrable et ne gère pas les <a href="https://fr.wikipedia.org/wiki/R%C3%A9seau_local_virtuel">VLAN</a>. En bref, c'est un switch 8 ports très basique qu'un membre avait déjà à sa disposition.
Les routeurs avec un grand nombre de ports Ethernet coutent cher. Il est donc plus intéressant d'utiliser un switch pour augmenter le nombre de ports disponibles. Considérez-le comme une multiprise pour pouvoir y brancher plus d'éléments. Le switch que nous utilisons n'est pas administrable et ne gère pas les <a href="https://fr.wikipedia.org/wiki/R%C3%A9seau_local_virtuel">VLAN</a>. En bref, c'est un switch 8 ports très basique qu'un membre avait déjà à sa disposition.
</p>
<table class="hardware">
<tr>

View File

@@ -17,10 +17,10 @@
Les sauvegardes qui sont conservées sur les 7 derniers mois de service sont les suivantes :
<ul>
<li>
Les 8 dernières sauvegardes quotidiennes
Les 8 dernières sauvegardes quotidiennes.
</li>
<li>
Les 5 dernières sauvegardes hebdomadaires
Les 5 dernières sauvegardes hebdomadaires.
</li>
<li>
Les 6 dernières sauvegardes mensuelles.
@@ -31,7 +31,7 @@
Les sauvegardes en pratique
</h2>
<p>
En pratique, les sauvegardes sont effectuées en clair sur une machine différente de l'hyperviseur mais située dans le même local{# et une seconde sauvegarde est effectuée sur une machine hébergée à moins de 150km #}. Cette sauvegarde se fait grâce à l'outil <a href="https://borgbackup.readthedocs.io/en/stable/">Borg</a> avec la surcouche <a href="https://torsion.org/borgmatic/">Borgmatic</a> et une série de scripts internes pour automatiser la préparation du dépôt de sauvegarde et de la configuration.
En pratique, les sauvegardes sont effectuées en clair sur une machine différente de l'hyperviseur mais située dans le même local et une seconde sauvegarde est effectuée sur une machine hébergée chez un autre membre de l'association. Cette sauvegarde se fait grâce à l'outil <a href="https://borgbackup.readthedocs.io/en/stable/">Borg</a> avec la surcouche <a href="https://torsion.org/borgmatic/">Borgmatic</a>.
</p>
<h2 class="subtitle">
Intégrité des sauvegardes

View File

@@ -67,7 +67,7 @@
Katzei se réserve le droit de changer sans préavis tout ou partie des Conditions Générales dUtilisation.
</li>
<li>
Les questions sur les conditions de service doivent être envoyées par courrier électronique à l'adresse <a href="mailto:cgu{{ mail_key }}@katzei.fr">cgu{{ mail_key }}@katzei.fr</a>.
Les questions sur les conditions de service doivent être envoyées via le <a href="/a-propos/Nous%20contacter.html">formulaire de contact</a>.
</li>
</ol>
</p>
@@ -148,7 +148,7 @@
Données personnelles
</h1>
<p>
Conformément à larticle 34 de la loi «Informatique et Libertés», Katzei garantit à lutilisateur un droit dopposition, daccès et de rectification sur les données nominatives le concernant. Lutilisateur a la possibilité dexercer ce droit en utilisant l'adresse de courrier électronique mise à sa disposition (<a href="mailto:dpo{{ mail_key }}@katzei.fr">dpo{{ mail_key }}@katzei.fr</a>).
Conformément à larticle 34 de la loi «Informatique et Libertés», Katzei garantit à lutilisateur un droit dopposition, daccès et de rectification sur les données nominatives le concernant. Lutilisateur a la possibilité dexercer ce droit en utilisant le <a href="/a-propos/Nous%20contacter.html">formulaire de contact</a>.
<ol start="30">
<li>
Pour utiliser certains services Katzei, vous devez créer un compte. Katzei demande certaines informations personnelles : une adresse e-mail valide et un mot de passe qui est utilisé pour protéger votre compte contre tout accès non autorisé. Les champs «Nom» et «Prénom» peuvent être requis pour le bon fonctionnement du logiciel, mais il nest pas nécessaire quils révèlent votre véritable identité.

View File

@@ -21,7 +21,7 @@
katzei.fr et les services qui y sont associés sont publiés et hébergés par :
<ul>
<li>Nom : <span class="small-caps">Katzei</span></li>
<li>Adresse : 19 rue de Dantzig 75015 Paris</li>
<li>Adresse : 19 rue Paul Banéat 35700 Rennes</li>
<li>Téléphone : 06.52.17.80.69</li>
</ul>
</p>
@@ -33,7 +33,7 @@
Katzei est une association déclarée :
</p>
<ul>
<li>Adresse : 19 rue de Dantzig 75015 Paris</li>
<li>Adresse : 19 rue Paul Banéat 37500 Rennes</li>
<li>Déclaration au journal officiel : <a href="https://www.journal-officiel.gouv.fr/associations/detail-annonce/associations_b/20200023/913">www.journal-officiel.gouv.fr</a></li>
<li>Statut : <a href="https://git.katzei.fr/katzei/legal/src/branch/master/status.rst">status.rst</a></li>
<li>Règlement intérieur : <a href="https://git.katzei.fr/katzei/legal/src/branch/master/reglement.rst">reglement.rst</a></li>

View File

@@ -0,0 +1,6 @@
{% extends "/meta/master.html" %}
{% block main %}
<embed class="contact-form-embed" type="text/html" src="/dyn/contact" frameborder="0">
</embed>
{% endblock %}

View File

@@ -1,4 +1,9 @@
<!doctype html>
<html>
<meta http-equiv="refresh" content="0;/Accueil.html">
</html>
{% extends "/meta/master.html" %}
{% block head %}
<meta http-equiv="refresh" content="0;/Accueil.html">
{% endblock %}
{% block main %}
Vous devriez être redirigé automatiquement vers l'accueil. Si ce n'est pas le cas cliquez sur <a href="/Accueil.html">ce lien</a>.
{% endblock %}

View File

@@ -45,7 +45,7 @@
</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link">
<a href="" class="navbar-link">
Services
</a>
<div class="navbar-dropdown">
@@ -58,7 +58,7 @@
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link">
<a href="" class="navbar-link">
Informations techniques
</a>
<div class="navbar-dropdown">
@@ -77,7 +77,7 @@
</div>
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link">
<a href="" class="navbar-link">
À propos
</a>
<div class="navbar-dropdown">
@@ -97,10 +97,10 @@
</a>
</div>
<div class="navbar-end">
<a href="mailto:contact{{ mail_key }}@katzei.fr" class="navbar-item mail" title="Nous contacter par mail">
<a href="/a-propos/Nous%20contacter.html" class="navbar-item mail" title="Nous contacter par mail">
</a>
<a href="https://mamot.fr/@katzei" class="navbar-item logo" title="Nous contacter sur mastodon">
<a rel="me" href="https://mamot.fr/@katzei" class="navbar-item logo" title="Nous contacter sur mastodon">
<img class="mastodon" src="/img/logo_mastodon.svg">
</a>
</div>