From b5136b819adb84514dfa15023a988b37281b8969 Mon Sep 17 00:00:00 2001 From: julien Date: Tue, 14 Jan 2025 17:57:40 +0100 Subject: [PATCH] first commit --- .env | 4 + Dockerfile | 9 + README.md | 1 + compose.yml | 27 + src/config.toml | 16 + src/content/contact.md | 4 + src/content/legal.md | 47 ++ src/content/maintenance.md | 4 + src/content/success.md | 4 + src/sass/css/style.scss | 565 ++++++++++++++++++++ src/static/fonts/TitilliumWeb-Bold.woff2 | Bin 0 -> 19300 bytes src/static/fonts/TitilliumWeb-Regular.woff2 | Bin 0 -> 20368 bytes src/static/images/calc.svg | 4 + src/static/images/cloud.svg | 4 + src/static/images/clouds.svg | 7 + src/static/images/drop.svg | 4 + src/static/images/favicon.webp | Bin 0 -> 12598 bytes src/static/images/git.svg | 4 + src/static/images/list.svg | 7 + src/static/images/mail.svg | 4 + src/static/images/netmail.webp | Bin 0 -> 29384 bytes src/static/images/other.svg | 7 + src/static/images/pad.svg | 10 + src/static/js/sidenav.js | 14 + src/templates/base.html | 81 +++ src/templates/contact.html | 27 + src/templates/index.html | 176 ++++++ src/templates/maintenance.html | 23 + src/templates/page.html | 8 + src/templates/success.html | 8 + 30 files changed, 1069 insertions(+) create mode 100644 .env create mode 100644 Dockerfile create mode 100755 README.md create mode 100644 compose.yml create mode 100644 src/config.toml create mode 100644 src/content/contact.md create mode 100644 src/content/legal.md create mode 100644 src/content/maintenance.md create mode 100644 src/content/success.md create mode 100644 src/sass/css/style.scss create mode 100644 src/static/fonts/TitilliumWeb-Bold.woff2 create mode 100644 src/static/fonts/TitilliumWeb-Regular.woff2 create mode 100644 src/static/images/calc.svg create mode 100644 src/static/images/cloud.svg create mode 100644 src/static/images/clouds.svg create mode 100644 src/static/images/drop.svg create mode 100644 src/static/images/favicon.webp create mode 100644 src/static/images/git.svg create mode 100644 src/static/images/list.svg create mode 100644 src/static/images/mail.svg create mode 100644 src/static/images/netmail.webp create mode 100644 src/static/images/other.svg create mode 100644 src/static/images/pad.svg create mode 100644 src/static/js/sidenav.js create mode 100644 src/templates/base.html create mode 100644 src/templates/contact.html create mode 100644 src/templates/index.html create mode 100644 src/templates/maintenance.html create mode 100644 src/templates/page.html create mode 100644 src/templates/success.html diff --git a/.env b/.env new file mode 100644 index 0000000..ee666e7 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +ALLOW_ORIGIN=netig.net +#DSN= +RECIPIENT=contact@netig.net +SENDER=contact@netig.net diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..290dfb7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM ghcr.io/getzola/zola:v0.19.2 AS zola + +COPY ./src /project +WORKDIR /project +RUN ["zola", "build"] + +FROM ghcr.io/static-web-server/static-web-server:2 +WORKDIR / +COPY --from=zola /project/public /public diff --git a/README.md b/README.md new file mode 100755 index 0000000..f7f4698 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# netig.net diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..ad72dbb --- /dev/null +++ b/compose.yml @@ -0,0 +1,27 @@ +services: + post-to-email: + image: matthiasmullie/post-to-email + container_name: p2enetignet_post-to-email + networks: + - mailserver + env_file: + - .env + - ../passwords/p2enetignet.pass + ports: + - "127.0.0.1:9007:80" + healthcheck: + test: 'curl --fail http://localhost:80/?SENDER=test@example.com' + interval: 1m + timeout: 10s + retries: 3 + start_period: 20s + restart: unless-stopped + zola: + build: . + container_name: netignet_zola + ports: + - "127.0.0.1:8000:80" + restart: unless-stopped +networks: + mailserver: + external: true diff --git a/src/config.toml b/src/config.toml new file mode 100644 index 0000000..1cf89d7 --- /dev/null +++ b/src/config.toml @@ -0,0 +1,16 @@ +# The URL the site will be built for +base_url = "https://netig.net" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = true + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = false + +[markdown] +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = false + +[extra] +# Put all your custom variables here diff --git a/src/content/contact.md b/src/content/contact.md new file mode 100644 index 0000000..fb2fd4b --- /dev/null +++ b/src/content/contact.md @@ -0,0 +1,4 @@ ++++ +title = "Contact" +template = "contact.html" ++++ diff --git a/src/content/legal.md b/src/content/legal.md new file mode 100644 index 0000000..2f74aa2 --- /dev/null +++ b/src/content/legal.md @@ -0,0 +1,47 @@ ++++ +title = "Mention légales" +template = "page.html" ++++ + +NETig
Julien Debrousse
Siren : 799 900 907 + +### Contact +Il est possible de prendre contact par courriel à : contact@netig.net. + +### Hébergement des données +Toutes les données collectées dans le cadre de la mise à disposition des services sont conservées exclusivement sur des serveurs gérés par moi chez HostUp en Suède et Hetzner en Allemagne. + +## Conditions Générales d’Utilisation +### Disponibilité +Malgré les efforts faits pour assurer la meilleure disponibilité possible, un accès permanent aux services n’est pas garanti. Vous pouvez consulter l’état des services en temps réel depuis un outil de surveillance mis à disposition. Vous pouvez aussi vous inscrire à la liste de diffusion de maintenance, afin d’être informé des interruptions de service. + +### Données personnelles +#### Responsabilité +Vous êtes responsables des contenus diffusés et êtes tenus de respecter la législation en vigueur. Le non respect des conditions d’utilisation ou des lois en vigueur peut entraîner une suppression de vos données et comptes. + +#### Confidentialité +Les données confiées ne seront en aucun cas divulguées ou utilisée dans un but autre que de fournir les services liés. + +#### Conservation +Les données personnelles sont conservées pour la durée de provision des services. Elles peuvent persister dans les sauvegardes quelques semaines après la clôture des services. + +#### Récupération +Vous pouvez à tout moment récupérer vos données personnelles, soit à l’aide d’une fonctionnalité intégrée à un service ou bien sur demande. + +#### Suppression +Vous pouvez à tout moment supprimer vos données personnelles, soit à l’aide d’une fonctionnalité intégrée à un service ou bien sur demande écrite. + +### Services en libre accès +Ces services sont accessibles à tous afin de proposer une alternative aux produits des GAFAM ou « Géants du web », respectueuse des données de chacun. Les ressources matérielles ne sont pas sans limites donc utilisez les avec bon sens, en cas d’abus et après un premier avertissement votre adresse IP pourra être bannie. + +### Hébergement et services +#### Souscription +Vous pouvez souscrire à tout moment à une offre pour une durée minimale d’un mois en prenant contact à : contact@netig.net. + +#### Paiement +Les paiements s’effectuent par virement bancaire. Les hébergements sont facturés mensuellement un mois après la mise à disposition du service. + +#### Suspension et Résiliation +Toute facture impayée de plus de deux mois pourra entraîner une suspension du service concerné. Toute facture impayée de plus de six mois pourra entraîner une suppression définitive des données. +Si vous souhaitez résilier un service en cours avant échéance, aucun remboursement ne sera fait mais à votre demande le service pourra être désactivé et les données supprimées. + diff --git a/src/content/maintenance.md b/src/content/maintenance.md new file mode 100644 index 0000000..8f5c2d6 --- /dev/null +++ b/src/content/maintenance.md @@ -0,0 +1,4 @@ ++++ +title = "Maintenance et incidents" +template = "maintenance.html" ++++ diff --git a/src/content/success.md b/src/content/success.md new file mode 100644 index 0000000..7b65526 --- /dev/null +++ b/src/content/success.md @@ -0,0 +1,4 @@ ++++ +title = "Success" +template = "success.html" ++++ diff --git a/src/sass/css/style.scss b/src/sass/css/style.scss new file mode 100644 index 0000000..020f7c4 --- /dev/null +++ b/src/sass/css/style.scss @@ -0,0 +1,565 @@ +/* Fonts + ------------------------------------------------------------------------ */ +@font-face { + font-family: 'TitilliumWeb'; + src: url('/fonts/TitilliumWeb-Regular.woff2') format('woff2'); + font-weight: normal; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'TitilliumWeb'; + src: url('/fonts/TitilliumWeb-Bold.woff2') format('woff2'); + font-weight: bold; + font-style: normal; + font-display: swap; +} + +/* Reset + ------------------------------------------------------------------------ */ +body { + margin: 0px; +} + +/* Variables + ------------------------------------------------------------------------ */ + +$color__primary: #00c8be; +$color__secondary: rgb(15 25 50/var(--tw-bg-opacity, 1)); +$color__ternary: rgb(30 40 85/var(--tw-bg-opacity, 1)); +$color__neutral: #010101; +$color__white: #fff; +$cover__home: url(/images/background.webp); + +/* Layout + ------------------------------------------------------------------------ */ +body, +html { + font-family: TitilliumWeb, sans-serif; + font-size: 1.2rem; + color: $color__white; + scroll-behavior: smooth; +} + +main { + min-height: calc(100vh - 142.4px); +} + +article { + padding-bottom: 100px; +} + +.anchor { + height: 40px; +} + + +.content { + padding: 20px; +} + +/* Lists + ------------------------------------------------------------------------ */ + +li { + color: $color__white; +} + +/* Background + ------------------------------------------------------------------------ */ + +body { + background: $color__secondary; +} + +/* Links + ------------------------------------------------------------------------ */ + +a { + color: $color__primary; + text-decoration: none; + + &:hover { + color: $color__primary; + } +} + +/* Titles + ------------------------------------------------------------------------ */ +h1, +h2, +h3, +h4 { + font-family: 'TitilliumWeb', sans-serif; + font-weight: bold; + text-align: left; + color: $color__white; +} + +h1 { + font-size: 2.8rem; + line-height: 2.8rem; +} + +h2 { + font-size: 2.6rem; + line-height: 2.6rem; + margin-bottom: 100px; +} + +h3 { + font-size: 2rem; + line-height: 2rem; +} + +h4 { + font-size: 1.8rem; + line-height: 1.8rem; +} + +/* Animations + ------------------------------------------------------------------------ */ + +.from-left { + position: relative; + animation-name: from-left; + animation-duration: 1s; +} + +@keyframes from-left { + 0% { + left: -500px; + } + + 100% { + left: 0; + } +} + +.from-right { + position: relative; + animation-name: from-right; + animation-duration: 1s; +} + +@keyframes from-right { + 0% { + right: -500px; + } + + 100% { + right: 0; + } +} + +/* Topnav + ------------------------------------------------------------------------ */ + +.topbar { + text-align: left; + background: $color__ternary; + padding-left: 20px; + + a { + padding: 20px; + } +} + +/* Sidenav + ------------------------------------------------------------------------ */ +.menu_icon_sidenav { + z-index: 2; + width: fit-content; + height: auto; + background-color: #FC970B; + padding: 10px; + margin: 10px; + cursor: pointer; + position: fixed; + top: 0; + right: 0; + box-shadow: 0 0 10px $color__neutral; + border-radius: 100%; +} + +.line1, +.line2, +.line3 { + width: 40px; + height: 4px; + margin: 10px 8px; + background-color: $color__white; + border-radius: 50px; + transition: 0.2s; +} + +.active { + .line1 { + transform: translate(0px, 15px) rotate(45deg); + } + + .line2 { + opacity: 0; + } + + .line3 { + transform: translate(0px, -15px) rotate(-45deg); + } +} + +.sidenav { + width: fit-content; + background-color: $color__neutral; + position: fixed; + text-align: center; + z-index: 1; + right: -500px; + pointer-events: none; + transition: 0.3s; + top: 0; + box-shadow: 0 0 10px $color__neutral; + overflow: scroll; + + nav { + padding-top: 80px; + margin-right: 40px; + + ul li { + list-style: none; + margin-bottom: 20px; + transition: 0.2s; + + &:hover { + background-color: $color__secondary; + border-radius: 50px; + } + + a { + font-size: 1.2rem; + padding: 10px 30px; + display: block; + text-decoration: none; + text-align: center; + } + } + } +} + +.active_sidenav { + right: 0px; + pointer-events: fill; + position: fixed; + top: 0; + height: 100vh; + max-width: 100%; +} + + +/* Gaps + ------------------------------------------------------------------------ */ + +.gap__20 { + height: 20px; +} + +.gap__40 { + height: 40px; +} + +.gap__80 { + height: 80px; +} + +/* Boxes + ------------------------------------------------------------------------ */ + +.box { + display: flex; + margin-top: 80px; + padding: 20px; + padding-bottom: 40px; + border: 2px solid $color__white; + box-shadow: 0 0 5px rgba(255, 255, 255, .2), 0 4px 4px rgba(0, 0, 0, .08); + flex-direction: column; + justify-content: space-between; + + img { + max-width: 96px; + margin-left: auto; + margin-right: auto; + display: block; + } + + &__title { + width: fit-content; + padding: 10px; + margin-top: 0; + margin-bottom: 0; + background: $color__secondary; + border: 0px solid $color__white; + translate: 0px -55px; + text-align: left; + } + + &__link { + text-align: center; + padding: 20px; + display: flex; + flex-direction: column; + justify-content: center; + + @media screen and (min-width: 1080px) and (max-resolution: 1x) { + &:hover { + transform: scale(1.1); + transition: all .2s; + } + } + } +} + +/* Logo + ------------------------------------------------------------------------ */ + +.logo { + img { + width: 100%; + max-width: 500px; + + @media screen and (min-width: 1080px) and (max-resolution: 1x) { + &:hover { + transform: scale(1.02); + transition: all .4s; + } + } + } +} + +/* Header + ------------------------------------------------------------------------ */ + +header { + position: relative; + color: $color__white; + text-align: left; + + p { + font-size: 1.6rem; + } +} + +header::before { + content: ""; + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + background: $color__ternary; + z-index: -1; +} + + + +header { + h1 { + text-align: left; + font-size: 4rem; + } +} + +/* Services + ------------------------------------------------------------------------ */ + +.article-services { + position: relative; + color: $color__white; + text-align: center; +} + +.article-services::before { + content: ""; + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + background: $color__secondary; + z-index: -1; +} + +/* Footer + ------------------------------------------------------------------------ */ + +footer { + background-color: $color__neutral; + padding: 40px; + box-shadow: 0 0 20px $color__neutral; +} + +.botbar { + width: 100%; + display: flex; + font-size: 1rem; + justify-content: space-between; + flex-wrap: wrap; + text-align: center; + color: $color__white; + + p { + margin-left: auto; + margin-right: auto; + } +} + +/* About article + ------------------------------------------------------------------------ */ + +.article-about { + position: relative; + color: $color__white; + text-align: center; + + ::before { + content: ""; + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + background: rgb(5 100 115/var(--tw-bg-opacity, 1)); + z-index: -1; + } + + h3 { + text-align: center; + } +} + +/* hosting article + ------------------------------------------------------------------------ */ + +.article-hosting { + position: relative; + color: $color__white; + text-align: left; + + ::before { + content: ""; + position: absolute; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + background: $color__secondary; + z-index: -1; + } +} + +/* Contact + ------------------------------------------------------------------------ */ + +.contact-form { + margin-right: 20px; + font-size: 0.8rem; + font-weight: bold; + + input, + select, + textarea { + width: 100%; + font-size: 1rem; + padding: 10px; + border: 0; + flex: 1 1 auto; + margin: 10px 0; + } + + &>* { + display: flex; + font-family: TitilliumWeb, sans-serif; + } + + textarea { + min-height: 150px; + max-width: 100%; + box-shadow: 0 0 10px $color__neutral; + } +} + +input:focus, +textarea:focus { + outline: none; +} + +.submit { + width: calc(100% + 22px) !important; + color: $color__white; + background-color: $color__primary; + + &:hover { + cursor: pointer; + } +} + +svg { + display: flex; + align-items: center; + justify-content: left; + height: 64px; + width: auto; +} + +/* Success + ------------------------------------------------------------------------ */ + +.success { + padding: 20px; + background-color: #185833; +} + + +/* Responsive 1080px + ------------------------------------------------------------------------ */ + +@media screen and (min-width: 1080px) and (max-resolution: 1x) { + .col--1-1 { + display: grid; + gap: 40px; + grid-template-columns: 1fr 1fr; + align-items: normal; + } + + .col--1-2 { + display: grid; + gap: 40px; + grid-template-columns: 1fr 2fr; + align-items: normal; + } + + .col--1-1-1 { + display: grid; + gap: 40px; + grid-template-columns: 1fr 1fr 1fr; + align-items: normal; + } + + .col--1-1-2 { + display: grid; + gap: 40px; + grid-template-columns: 1fr 1fr 2fr; + align-items: normal; + } + +} + +/* Responsive 1200px + ------------------------------------------------------------------------ */ + +@media screen and (min-width: 1200px) and (max-resolution: 1x) { + .content { + width: 1200px; + margin-left: auto; + margin-right: auto; + } +} \ No newline at end of file diff --git a/src/static/fonts/TitilliumWeb-Bold.woff2 b/src/static/fonts/TitilliumWeb-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c34f1342709cf74cdd95be678c97b7117ae49fea GIT binary patch literal 19300 zcmV)oK%BpKPew8T0RR91083;54*&oF0MsY|080h{0RR9100000000000000000000 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
Kc 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 + + + \ No newline at end of file diff --git a/src/static/images/cloud.svg b/src/static/images/cloud.svg new file mode 100644 index 0000000..cf3db6a --- /dev/null +++ b/src/static/images/cloud.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/static/images/clouds.svg b/src/static/images/clouds.svg new file mode 100644 index 0000000..37a25e8 --- /dev/null +++ b/src/static/images/clouds.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/static/images/drop.svg b/src/static/images/drop.svg new file mode 100644 index 0000000..873e387 --- /dev/null +++ b/src/static/images/drop.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/static/images/favicon.webp b/src/static/images/favicon.webp new file mode 100644 index 0000000000000000000000000000000000000000..008d47b93958ba8d911189abb495db3e3573d100 GIT binary patch literal 12598 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 VLih}Dp(sLwzjqORu5167{67> + + + \ No newline at end of file diff --git a/src/static/images/list.svg b/src/static/images/list.svg new file mode 100644 index 0000000..d4598c6 --- /dev/null +++ b/src/static/images/list.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/static/images/mail.svg b/src/static/images/mail.svg new file mode 100644 index 0000000..2e400bf --- /dev/null +++ b/src/static/images/mail.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/static/images/netmail.webp b/src/static/images/netmail.webp new file mode 100644 index 0000000000000000000000000000000000000000..482325801f6ac713db145ab2119ddd9b4899b32d GIT binary patch literal 29384 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

snvWk;FAhLZRkJ;IZeU-Iq|3Te?G$GL#~`U&R7 zM*yl1898!3i;)Logjqm8va#wkEhevPX_Mb9qvU1MUI9n)KT3tbDQAR)+lGhB`h>$8 zyx3D*rpfau($T36LcVAsFT2Ki7SO8Gb`3Dn@UyP7`f0=}$h7@#PV|@h*Y9LJ=@~}f zTP3aN5>Vj*zHOw?*j=dAig&V0Mn?037V3WCR$zg8lQ?a_Q@?)-A*De%rNo9DMum?9 z<2FdEkZ2ESlP8P&ZGtU+#>#(C66LA*#U~gLHPmsV`KFwpfoyEO6308UwH-ogE*S`= zivX842;gew=@e)!nOrFiIDJfdE*Kt|CNtI-7$wWBT3AEVh~CBmWWJhnqABw9q^UyI z&7`$2E>fjlB>6?WQYZd>?o8OtAkCk}FE;XdfaA)GNGoIO_n|Z{ zfH>s{91V>suQx20?Ae4RrQz%CGwkY*Pph%StzJ*fZAD$@2kc-TwtRgX($c1yeU zlm^S}vJ1ZJvMaKrxwC5Wa%bUW&~$vHBL>~MrT-$ien#wy39sH`>P8HSNcS0lc zU2$@HXQivT9`VhW>A`EostdY{+fz(Lc3zZPFQ#Av9?aEtI~r6*kOQqn6FLzNQ$ats zrl>{@E2I~L=64vub!k`AZ*)g^Z>I4#jb4;4DD;Y$H8Wb3sV&%o4C1bCfs|wPNkHCx z9-VV(pc&+Q+(s$X-G89NnCqA})?*L5JIVcq?bD@P(J>X@G-@r9Vp3g;NjUpe(0Ri1 z%QM9txF)N(QQnK(t^?F+uC4CFr6*WA1t;`R)7dLjrn_KRVhhB8CVbkB&j(+M34J+^ z)LSuO3b)*wsDd5iKo5m8;^ZRwq-diL@&+3nn}p zzC&DiSJb|prx9Zg44z_0y~tk`;o5l{o;wJNvd!5&mL3mAWYaR6&^HjB2PY9Ts>ON; zaP1jpM)J*JRn+YzYutpN`~43*t&coH)#)ARyY;p24Y1 znryc;JmX6%W9j|`$by3PzB7&+MJrN#mzqnCu`dhl5`%WH{5nVZj6DmxU_C_ZKvaY~ zL_==6)J;9Xum}lB(NI-s3ejRhRh1Lzq16PU=Lzzozgm+Z+JYeehm3-Z`lo$G7($B( zAtNKs4+kYO+MhGx|2rhAzvU!^%>K8|L(2;QG71tt;+%;%fC%}a$;d-v65H^ubq6vcFr2Nd#dH*u{zgE2l4OLsx;lyR@p*W7@OlXF!kumS0HTQf zANYZMKp+o7gU7|o(G~2;_5OFoDL1cm@}LHGptm#(X= z^}lKPAO1Yt`Q!dS#t|m|h5J7=|B3TK5kZES0^HK=!IG+iB;$jFVpecVTPv|YBEKL2 zEF>sm$pf+w2J;AlEvgXZ2gJgOk^X^tF@*OB4#5w3hrs+3lbF0S1ndfT)`P}Cf4S%ac86Fo{(TYA{m9V!NC!(Hejr#7^3Qk|xV5VX*cl>ggJ9*a;QzfS(X;=V3yy!3J)jT- zX%9s3@B?@N0)L1QMo{oK5qyXs_#TS+uXy + + + + + + \ No newline at end of file diff --git a/src/static/images/pad.svg b/src/static/images/pad.svg new file mode 100644 index 0000000..c0d79df --- /dev/null +++ b/src/static/images/pad.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/static/js/sidenav.js b/src/static/js/sidenav.js new file mode 100644 index 0000000..029bfc7 --- /dev/null +++ b/src/static/js/sidenav.js @@ -0,0 +1,14 @@ +let menu_icon_sidenav = document.querySelector(".menu_icon_sidenav"); +let sidenav = document.querySelector(".sidenav"); + +menu_icon_sidenav.onclick = function () { + menu_icon_sidenav.classList.toggle("active"); + sidenav.classList.toggle("active_sidenav"); +} + +document.onclick = function (e) { + if (!menu_icon_sidenav.contains(e.target) && !sidenav.contains(e.target)) { + menu_icon_sidenav.classList.remove("active"); + sidenav.classList.remove("active_sidenav"); + } +} diff --git a/src/templates/base.html b/src/templates/base.html new file mode 100644 index 0000000..8dbbc4c --- /dev/null +++ b/src/templates/base.html @@ -0,0 +1,81 @@ + + + + + + + + + NETig + + + + + + + +

+
+ NETmail + NETcloud + NETgit + +
+ + +
+
+ +
+
+

NETig

+

Vous cherchez des services en ligne mais vous ne souhaitez pas confier vos + données aux GAFAM ? Vous êtes au bon endroit !

+
+
+
+
+
+ {% block content %} {% endblock %} +
+
+ + + + \ No newline at end of file diff --git a/src/templates/contact.html b/src/templates/contact.html new file mode 100644 index 0000000..fb624cb --- /dev/null +++ b/src/templates/contact.html @@ -0,0 +1,27 @@ +{% extends "base.html" %} + +{% block content %} +
+

{{ page.title }}

+
+
+
+

Vous avez un projet en tête ? Un service vous intéresse ? Ou simplement une question ? Ce formulaire + est + là pour ça !

+
+
+ + + + + + + +
+
+
+
+{% endblock content %} \ No newline at end of file diff --git a/src/templates/index.html b/src/templates/index.html new file mode 100644 index 0000000..04c4ee0 --- /dev/null +++ b/src/templates/index.html @@ -0,0 +1,176 @@ +{% extends "base.html" %} + +{% block content %} + + + +
+
+
+
+

Quoi ?

+

Tous les outils numérique dont vous pouriez avoir besoin en tant que particulier, association ou petite + entreprise : des boîtes mail, du stockage en ligne, des outils de travail collaboratif, un service de + partage de fichiers volumineux, une forge logicielle, des listes de diffusion... et plus encore ! +

+
+
+

Comment ?

+

L'ensemble des services sont fournis depuis un VPS chez HostUp en Suède et conteneurisés, c'est à dire isolés les uns des autres + pour améliorer la sécurité, la reproductibilité et l'automatisation. Le stockage est redondant sur deux + disques en cas de défaillance matérielle. Les données sont sauvegardées automatiquement une fois par + semaine et stockées sur le serveur ainsi qu'en Allemagne chez Hetzner. Utilisation exclusive de logiciels sous licences libres.

+
+
+

Pourquoi ?

+

Je suis un petit hébergeur, en utilisant mes services vous gardez le contrôle sur vos données et + participez à un internet libre et décentralisé. Ici vos données ne seront en aucun cas marchandées ni + utilisées à toute autre fin que de fournir le service demandé. Je participe également à ma mesure à la + distribution Linux utilisée en mettant à disposition un mirroir.

+
+
+
+ +
+
+
+

Offres d'hébergement

+

Si un service vous intéresse contactez-moi, vous + avez un mois d'essai à compter de la mise à disposition avant le premier paiement.

+
+
+

NETmail - Adresse mail

+
+
+ +
+
+
    +
  • 2€/mois 5Go
  • +
+
+
+

Adresse mail en @netig.net ou votre nom de domaine (12€ de frais de mise en place + supplémentaire), consultable depuis un webmail ou depuis votre client mail habituel.

+
+
+
+
+

NETcloud - Compte Nextcloud

+
+
+ +
+
+
    +
  • 1€/mois 1Go
  • +
  • 2€/mois 5Go
  • +
  • 2€/mois + 5Go
  • +
  • 2€/mois option Collabora
  • +
+
+
+

Un compte Nextcloud pour stocker vos fichiers, photos, et agendas en ligne. Suite bureautique + complète en option avec Collabora.

+
+
+
+
+

NETcloud - Instance Nextcloud

+
+
+ +
+
+
    +
  • 20€/mois 5Go
  • +
  • 2€/mois + 5Go
  • +
  • 8€/mois option Collabora
  • +
+
+
+

Votre propre instance Nextcloud privée pour plusieurs comptes.

+
+
+
+
+

NETgit - Compte Gitea

+
+
+ +
+
+
    +
  • 2€/mois
  • +
+
+
+

Forge logicielle.

+
+
+ +
+
+

NETlist - Instance Listmonk

+
+
+ +
+
+
    +
  • 8€/mois
  • +
+
+
+

Listes de diffusion avec page d'inscription et d'archives publiques. Pas de limite sur le + nombre d’abonnés ni sur le nombre de listes. Possibilité d’utiliser une ou plusieurs + adresses mail d’expédition @netig.net ou tout autre fournisseur. Conforme RGPD. +

+
+
+
+
+

Autre

+
+
+ +
+
+
    +
  • Sur devis
  • +
+
+
+

Vous avez autre chose en tête ? Un site ou une application web à héberger ? Demandez-moi ! +

+
+
+
+
+
+
+ +{% endblock content %} \ No newline at end of file diff --git a/src/templates/maintenance.html b/src/templates/maintenance.html new file mode 100644 index 0000000..e20cb56 --- /dev/null +++ b/src/templates/maintenance.html @@ -0,0 +1,23 @@ +{% extends "base.html" %} + +{% block content %} +
+

{{ page.title }}

+ +
+{% endblock content %} \ No newline at end of file diff --git a/src/templates/page.html b/src/templates/page.html new file mode 100644 index 0000000..3676bcf --- /dev/null +++ b/src/templates/page.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block content %} +
+

{{ page.title }}

+ {{ page.content | safe }} +
+{% endblock content %} \ No newline at end of file diff --git a/src/templates/success.html b/src/templates/success.html new file mode 100644 index 0000000..c58ba2a --- /dev/null +++ b/src/templates/success.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block content %} +
+

Message envoyé, retourner à la page d'accueil !

+ +
+{% endblock content %} \ No newline at end of file