feat: Ajout du site de RésiLien
continuous-integration/drone/push Build is failing Details

This commit is contained in:
Simon 2024-03-30 01:04:52 +01:00
parent 7298f36ca1
commit ea91c51e98
10 changed files with 427 additions and 0 deletions

View File

@ -34,6 +34,18 @@ kind: secret
name: CREMEAUX_AWS_SECRET_ACCESS_KEY
data: L2G0Q59Ujb6TA1Y4VC0ykU7XaGG6wq834i8m3Jcnslj6LyB13L2c7jm0r3kwhp9dm/HmhjAsudVD5AILRKbIof7RHtFrdi5JcoCiAuDlHWQXf48nzDyC8c5uZVU=
---
# drone encrypt ResiLien/portails $AWS_ACCESS_KEY_ID
kind: secret
name: RESILIEN_AWS_ACCESS_KEY_ID
data: TDoSK5Lnhn6mi6gmO/ulqdflcbPta55iXZ011Z/qePv1sYV0b5h8XDpMkY+vzv7CEe7e1jQT
---
# drone encrypt ResiLien/portails $AWS_SECRET_ACCESS_KEY
kind: secret
name: RESILIEN_AWS_SECRET_ACCESS_KEY
data: Da5HV8Pvw17W56RKlYsTSQI2RDur9LtgR7iiPuBRdehXPOwDOesYGZRnpvTOftRB3ob2jS4//uk7EjnaaJTDXRMEqz6UlcrPJVS9XtkTvSc9cbjtwCKMfMKFQCg=
---
kind: pipeline
type: docker
@ -90,3 +102,22 @@ steps:
- hugo --minify --environment cremeaux.org
- hugo --minify --environment cremeaux.org
- hugo deploy --environment cremeaux.org
---
kind: pipeline
type: docker
name: RésiLien
steps:
- name: Installation des dépendances & construction du site
image: hugomods/hugo:exts-0.123.8
environment:
AWS_ACCESS_KEY_ID:
from_secret: CREMEAUX_AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY:
from_secret: CREMEAUX_AWS_SECRET_ACCESS_KEY
commands:
- npm install --ignore-scripts
- hugo --minify --environment staging.resilien.fr
- hugo --minify --environment staging.resilien.fr
- hugo deploy --environment staging.resilien.fr

View File

@ -0,0 +1,22 @@
baseURL = "https://staging.resilien.fr/"
title = "RésiLien"
languageCode = "fr-FR"
defaultContentLanguage = "fr"
disableLanguages = ["de", "nl", "en"]
[Params]
url = "resilien.fr"
domain = "resilien.fr"
support = "support@resilien.fr"
poweredBy = true
uptimeKumaUrl = "https://status.resilien.fr"
[Params.doks]
breadcrumbTrail = true
[languages.fr.params]
footer = 'Mise en place et hébergé avec sobriété par <a class="text-muted" href="https://resilien.fr/">RésiLien</a>'
[deployment.targets]
name = "production"
URL = "s3://staging.resilien.fr?endpoint=https://s3.garage.resilien.cloud&disableSSL=true&s3ForcePathStyle=true&region=garage"

View File

@ -0,0 +1,19 @@
[[main]]
name = "Guides"
url = "/docs/introduction/bienvenue/"
weight = 10
[[footer]]
name = "Mentions légales"
url = "/mentions-legales/"
weight = 10
[[footer]]
name = "Sources du site"
url = "https://git.resilien.fr/ResiLien/portails/"
weight = 20
[[footer]]
name = "Statuts des services"
url = "https://status.resilien.fr/"
weight = 30

View File

@ -0,0 +1,134 @@
# mounts
## archetypes
[[mounts]]
source = "node_modules/@hyas/doks-core/archetypes"
target = "archetypes"
[[mounts]]
source = "archetypes"
target = "archetypes"
## assets
[[mounts]]
source = "node_modules/@hyas/core/assets"
target = "assets"
[[mounts]]
source = "portails/resilien.fr/assets"
target = "assets"
[[mounts]]
source = "node_modules/@hyas/images/assets"
target = "assets"
excludeFiles = "/scss/**.scss"
[[mounts]]
source = "node_modules/@hyas/doks-core/assets"
target = "assets"
[[mounts]]
source = "node_modules/@tabler/icons/icons"
target = "assets/svgs/tabler-icons"
[[mounts]]
source = "assets"
target = "assets"
## content
[[mounts]]
source = "portails/shared/content"
target = "content"
[[mounts]]
source = "portails/shared/docs/directus"
target = "content/docs/directus"
[[mounts]]
source = "portails/shared/docs/element"
target = "content/docs/element"
[[mounts]]
source = "portails/shared/docs/gitea"
target = "content/docs/gitea"
[[mounts]]
source = "portails/shared/docs/listmonk"
target = "content/docs/listmonk"
[[mounts]]
source = "portails/shared/docs/metabase"
target = "content/docs/metabase"
[[mounts]]
source = "portails/shared/docs/nextcloud"
target = "content/docs/nextcloud"
[[mounts]]
source = "portails/shared/docs/outline"
target = "content/docs/outline"
[[mounts]]
source = "portails/shared/docs/vaultwarden"
target = "content/docs/vaultwarden"
[[mounts]]
source = "portails/shared/docs/vikunja"
target = "content/docs/vikunja"
[[mounts]]
source = "portails/resilien.fr/content"
target = "content"
## data
[[mounts]]
source = "node_modules/@hyas/doks-core/data"
target = "data"
[[mounts]]
source = "data"
target = "data"
[[mounts]]
source = "portails/shared/data"
target = "data"
[[mounts]]
source = "portails/resilien.fr/data"
target = "data"
## i18n
[[mounts]]
source = "node_modules/@hyas/doks-core/i18n"
target = "i18n"
[[mounts]]
source = "i18n"
target = "i18n"
## layouts
[[mounts]]
source = "node_modules/@hyas/core/layouts"
target = "layouts"
[[mounts]]
source = "node_modules/@hyas/seo/layouts"
target = "layouts"
[[mounts]]
source = "node_modules/@hyas/images/layouts"
target = "layouts"
[[mounts]]
source = "node_modules/@hyas/doks-core/layouts"
target = "layouts"
[[mounts]]
source = "node_modules/@hyas/inline-svg/layouts"
target = "layouts"
[[mounts]]
source = "layouts"
target = "layouts"
[[mounts]]
source = "portails/shared/layouts"
target = "layouts"
## static
[[mounts]]
source = "node_modules/@hyas/doks-core/static"
target = "static"
[[mounts]]
source = "static"
target = "static"

View File

@ -0,0 +1,67 @@
$primary: #f9bc60;
body {
--bs-body-bg: #004643;
--bs-body-color: #e8e4e6;
.navbar {
background-color: #004643;
a, .offcanvas .nav-link {
text-decoration: dotted;
text-decoration-line: underline!important;
color: #f9bc60;
}
}
a {
text-decoration: dotted;
color: #f9bc60;
text-decoration-line: underline!important;
}
&.home h1 {
margin-top: 4rem;
margin-bottom: 4rem;
}
.lead {
margin-top: 4rem;
margin-bottom: 2rem;
text-align: left;
}
.section-features {
background-color: #abd1c6;
color: #001e1d;
.row.justify-content-center.text-center {
gap: 2.5rem;
}
.col-12.col-lg-5.col-sm-6 {
background-color: #004643;
border-radius: 3px;
color: #e8e4e6;
h2 {
color: #f9bc60
}
.btn.btn-primary {
background-color: #f9bc60;
color: #004643;
}
small {
color: #e8e4e6;
}
a {
border-color: #f9bc60;
}
}
}
}
blockquote {
--sl-color-purple: #e8e4e6;
}

View File

@ -0,0 +1,30 @@
---
title : "Outils numériques libres proposés par <a href='https://resilien.fr'>RésiLien</a>"
description: ""
lead: "Ce site web vous met à disposition de multiples services utiles pour collaborer, partager et avoir une vie numérique plus <a href='/docs/introduction/vie-numérique/'>« saine »</a>."
date: 2023-09-07T16:33:54+02:00
lastmod: 2023-09-07T16:33:54+02:00
draft: false
seo:
title: "Outils numériques libres de Cremeaux" # custom title (optional)
description: "Ce site web vous met à disposition de multiples services utiles pour collaborer, partager et avoir une vie numérique plus « saine » sur la commune de Cremeaux." # custom description (recommended)
canonical: "" # custom canonical URL (optional)
noindex: false # false (default) or true
---
**RésiLien** est un hébergeur de services numériques localisé en France dont l'infrastructure est décentralisée. Nous respectons [la charte](https://www.chatons.org/charte) du [Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires](https://chatons.org/) auquel nous sommes membres depuis [décembre 2021](https://www.chatons.org/chatons/resilien).
Reprenez le contrôle sur vos données en utilisant exclusivement des **logiciels libres** et en les stockant sur du matériel de confiance.
Engagez-vous dans la transition écologique 🍃 en optant pour une **sobriété numérique**.
Si vous avez une connexion Internet suffisante, hébergez dans votre local votre serveur contenant vos propres données. L'équipe de RésiLien en fera la maintenance à distance.
RésiLien est aujourd'hui une association porté par des valeurs éthiques, une entreprise de l'**Économie Sociale et Solidaire**.
## Quels services propose RésiLien?
Tous les services sont :
- open source
- accompagnés dune formation personnalisée si besoin
- avec des sauvegardes effectuées quotidiennement sur un autre lieu

View File

@ -0,0 +1,29 @@
---
headless: true
---
## Comment bénéficier des services de RésiLien?
Ayant à cœur davoir une relation de proximité, nous vous conseillons de contacter lantenne la plus proche. Celle-ci vous enverra une proposition commerciale en fonction de vos besoins. Chaque prestation inclut une période daccompagnement pour lutilisation des services.
<div class="container">
<div class="row justify-content-center text-center">
<div class="col-6">
> Antenne Loire
> Simon Constans
> loire@resilien.fr
> 07 57 18 01 68
</div>
<div class="col-6">
> Antenne Côtes dArmor
> Killian Kemps
> cotesdarmor@resilien.fr
> 07 64 70 62 94
</div>
</div>
</div>

View File

@ -0,0 +1,11 @@
- name: directus
- name: gitea
- name: hedgedoc
- name: listmonk
- name: metabase
- name: mobilizon
- name: nextcloud
- name: outline
- name: signaturepdf
- name: vaultwarden
- name: vikunja

View File

@ -0,0 +1,79 @@
{{ define "main" }}
<section class="section container-fluid mt-n3 pb-3">
<div class="row justify-content-center">
<div class="col-lg-12 text-center">
<h1>{{ .Title | safeHTML }}</h1>
</div>
<div class="col-lg-12 col-xl-12 lead">
{{ .Content }}
</div>
</div>
</section>
{{ end }}
{{ define "sidebar-prefooter" }}
<section class="section section-sm section-features">
<div class="container">
<div class="row justify-content-center text-center">
{{ range $service := index site.Data.services }}
{{ $defaultValues := index site.Data.portails.services $service.name }}
<div class="col-12 col-lg-5 col-sm-6">
<h2 class="h4">
{{- $icon := $service.icon | default $defaultValues.icon -}}
{{- partial "inline-svg" $icon -}}&nbsp;
{{- $service.title | default $defaultValues.title -}}
{{- partial "service/title-after.html" $service -}}
</h2>
<p>{{ $service.description | default $defaultValues.description | markdownify }}</p>
<div class="btn-group" role="group" aria-label="Basic outlined example">
{{ $url := $service.doc | default $defaultValues.doc }}
{{ if site.GetPage $url }}
<a href="{{$url}}" class="btn btn-outline-primary">Guide</a>
{{ end }}
{{ $url := "" }}
{{ if $service.subdomain }}
{{ $url = print "https://" $service.subdomain "." site.Params.domain "/" }}
{{ else if $service.link }}
{{ $url = print $service.link "/" }}
{{ else }}
{{ $url = print "https://" $defaultValues.subdomain "." site.Params.domain "/" }}
{{ end }}
<a
href="{{ $url }}{{ if $service.path }}{{ $service.path }}{{ else if $defaultValues.path }}{{ $defaultValues.path }}{{ end }}"
class="btn btn-primary"
>
Accéder au service
</a>
</div>
{{ if site.Params.poweredBy }}
<p class="text-muted"><small>Propulsé par <a href="{{ $defaultValues.tool.link }}">{{ $defaultValues.tool.name }}</a></small></p>
{{ end }}
</div>
{{ end }}
</div>
</div>
</section>
<hr>
<section class="section container-fluid mt-n3 pb-3">
<div class="row justify-content-center">
<div class="col-lg-9 col-xl-8 text-center">
{{ with .Site.GetPage "/home-bottom" }}
{{ .Content }}
{{ end }}
</div>
</div>
</section>
{{ end }}
{{ define "sidebar-footer" }}
{{ if site.Params.doks.sectionFooter -}}
<section class="section section-md container-fluid bg-light">
<div class="row justify-content-center text-center">
<div class="col-lg-7">
<h2 class="mt-2">Start building with Doks today</h2>
<a class="btn btn-primary rounded-pill px-4 my-2" href="/docs/{{ if site.Params.doks.docsVersioning }}{{ site.Params.doks.docsVersion }}/{{ end }}prologue/introduction/" role="button">{{ i18n "get-started" }}</a>
</div>
</div>
</section>
{{ end -}}
{{ end }}

View File

@ -0,0 +1,5 @@
{{ if (.subscription | default false) -}}
{{- partial "inline-svg" (dict "src" "currency-euro" "stroke-width" "1" "stroke" "#ee52b7" "height" "1rem" "width" "1rem" "class" "svg-inline-custom") }}
{{ else }}
{{- partial "inline-svg" (dict "src" "currency-euro-off" "stroke-width" "1" "stroke" "#ee52b7" "height" "1rem" "width" "1rem" "class" "svg-inline-custom") }}
{{ end }}