diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..f205c0b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +# Ignore everything +** + +!public diff --git a/.drone.yml b/.drone.yml index d2018c3..05eab5f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,26 +1,20 @@ --- -# drone encrypt resilien/resilien.fr $AWS_ACCESS_KEY_ID + # drone encrypt resilien/resilien.fr $REGISTRY_PASSWORD kind: secret -name: STAGING_AWS_ACCESS_KEY_ID -data: FfmGMdepp8r8bXErlvn8p+QijBfkTtHHDpyMLEq/MMvF21k5IPgasU6DBSYQmSy3w2deAE/n +name: REGISTRY_PASSWORD +data: dYAxgJzu+Ic48OIWSFSy1fIG/Z9UUb7ErEyN+3KyI3DaVl1HKWIjdhd6HQZNcgjyKqxZh+smR7CeklVTO2cJhAfQfXIu8ENfGW1QEiFM --- -# drone encrypt resilien/resilien.fr $AWS_SECRET_ACCESS_KEY +# drone encrypt resilien/resilien.fr $REGISTRY_USER kind: secret -name: STAGING_AWS_SECRET_ACCESS_KEY -data: KfVK2Dmpj2Pprt9boMvOMWYY3tq6k5d+SF/EpnnZQfK5z7NGaTU8CzMC7m3YcHh+Z7OzTNMK7nbzgoQriLNd5EFfVwvGf2TFW+qSByYkrBOzAYHy/GD4Ejn6mLs= +name: REGISTRY_USER +data: Y/LGloHcxShJGmqXaGvFJYLSCDbG7wWZap8oywddPdJfcw== --- -# drone encrypt resilien/resilien.fr $AWS_ACCESS_KEY_ID +# drone encrypt resilien/resilien.fr "{\"auths\":{\"https://registry.weko.io\":{\"auth\":\"$(echo -n "$REGISTRY_USER:$REGISTRY_PASSWORD" | base64)\",\"email\":\"$REGISTRY_USER\"}}}" kind: secret -name: PRODUCTION_AWS_ACCESS_KEY_ID -data: IHBJJpNYL76/4+h3eJQF0dxuHlybyNU7ruM1OOjkM8W1N++IG8FGtFTVi3mHVu1h4DHgc+ux - ---- -# drone encrypt resilien/resilien.fr $AWS_SECRET_ACCESS_KEY -kind: secret -name: PRODUCTION_AWS_SECRET_ACCESS_KEY -data: RciAFkEXLF+Czpk5EclFKU/Nq9ivYoBv5xR96LURauZWLJacfx/o1Pr+1neK+W7R6XJ80nYqNySPex3cce9QjEc3ijr+FVXAHvqZbC2QTYfXv56iiruTljBznaU= +name: REGISTRY_CONFIG +data: ICKt0HnBLKDrCNUH1xJnOKCwOMn/R+xMqtO8AxQ8ZorJO/J1O3hUFx3gYH6uKe3y3qa73zGPjSHnTGFv43eGBS0K8L0qQtXdLqIKTOQiIMK9CENN+w8uULCKSls01XHv7zY0bGR5FjmniXCLNYHiWHnJOi8xbAkDorhy6GwhBBpsumsZ6uzA5I0NfHTs+gplvQh6H+6Dmh03ygx39pMfE+P1F2D5VS9OiieS --- kind: pipeline @@ -46,7 +40,7 @@ steps: - (cd themes/hugo-theme-lowtech && npm i) - name: build website - image: klakegg/hugo:0.101.0-ext-debian-ci + image: jakejarvis/hugo-extended commands: - hugo --minify --environment production @@ -58,15 +52,20 @@ steps: commands: - node themes/hugo-theme-lowtech/scripts/typo -- name: deploy - image: klakegg/hugo:0.101.0-ext-debian-ci - environment: - AWS_ACCESS_KEY_ID: - from_secret: PRODUCTION_AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY: - from_secret: PRODUCTION_AWS_SECRET_ACCESS_KEY - commands: - - hugo deploy --environment production +- name: build and push docker image on registry + image: plugins/docker + settings: + username: + from_secret: REGISTRY_USER + password: + from_secret: REGISTRY_PASSWORD + repo: registry.weko.io/resilien_fr + registry: registry.weko.io + tags: + - latest + +image_pull_secrets: +- REGISTRY_CONFIG trigger: event: @@ -103,7 +102,7 @@ steps: - (cd themes/hugo-theme-lowtech && npm i) - name: build website - image: klakegg/hugo:0.101.0-ext-debian-ci + image: jakejarvis/hugo-extended commands: - hugo --minify --buildDrafts --buildFuture --environment staging @@ -115,15 +114,20 @@ steps: commands: - node themes/hugo-theme-lowtech/scripts/typo -- name: deploy - image: klakegg/hugo:0.101.0-ext-debian-ci - environment: - AWS_ACCESS_KEY_ID: - from_secret: STAGING_AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY: - from_secret: STAGING_AWS_SECRET_ACCESS_KEY - commands: - - hugo deploy --environment staging +- name: push docker image on registry + image: plugins/docker + settings: + username: + from_secret: REGISTRY_USER + password: + from_secret: REGISTRY_PASSWORD + repo: registry.weko.io/resilien_fr + registry: registry.weko.io + tags: + - staging + +image_pull_secrets: +- REGISTRY_CONFIG trigger: event: diff --git a/.env b/.env new file mode 100644 index 0000000..bbc0c54 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +DOCKER_CONTEXT=vert.weko.resilien +NAME=vert.weko.resilien +URL=resilien.fr +STATS_CONTAINER=resilien-stats diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3f66d28 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM registry.weko.io/nginx-lowtech:0.0.9 + +# Copie des sources du site +COPY public /usr/share/nginx/html diff --git a/assets/styles/main.sass b/assets/styles/main.sass index a0f4592..17d440a 100644 --- a/assets/styles/main.sass +++ b/assets/styles/main.sass @@ -1,6 +1,6 @@ $line-height: 1.15 $size-small: 600px -$layout-size: 1040px +$layout-size: 960px // COLOR @@ -96,6 +96,7 @@ $color-tertiary: #A61A07 .card, .cards > *, .footnotes color: var(--color-secondary-card-paragraph) background: var(--color-secondary-card-background) + border-radius: var(--border-radius) h1, h2, h3, h4, h5, h6 color: var(--color-secondary-card-headline) button, .button @@ -123,7 +124,6 @@ body --border-style: dashed --border-size: 4px --border-radius: calc(var(--tile)/2) - --border-radius-small: 3px --link-style: dotted font-size: 1.125rem @@ -287,12 +287,6 @@ sub max-width: $layout-size padding: var(--tile) margin: 0 auto - width: 90% - margin-right: auto - margin-left: auto - - @media screen and (max-width: 800px) - width: inherit .blogDate:first-child + h1 padding-top: var(--tile) @@ -303,43 +297,6 @@ sub .quote:first-child margin-top: 0 -.sticky - position: relative - display: block - - .sticky-col - top: 0 - position: sticky - width: 40% - margin-right: 7% - float: left - margin-bottom: 1rem - - .sticky-cards - width: 50% - float: right - - .cards - grid-template-columns: 1fr - - & > * - border-radius: var(--border-radius-small) - - - @media screen and (max-width: 800px) - .sticky-col, .sticky-cards - width: inherit - position: relative - margin-right: 0 - -.clearfix::before, .clearfix::after - content: " " - display: table - -.clearfix::after - clear: both - - .cards display: grid grid-template-columns: 1fr 1fr diff --git a/config/_default/config.yml b/config/_default/config.yml index d95294a..f03cf11 100644 --- a/config/_default/config.yml +++ b/config/_default/config.yml @@ -16,8 +16,7 @@ permalinks: params: FaviconFile: /favicon.svg - ImageSize: 1040x - SocialImage: RESILIEN_LOGO_SLOGAN_disc_slogan.svg + ImageSize: 960x minify: tdewolff: diff --git a/config/production/config.yml b/config/production/config.yml index 236310d..55e06cd 100644 --- a/config/production/config.yml +++ b/config/production/config.yml @@ -1,7 +1 @@ baseURL: https://resilien.fr/ - -deployment: - targets: - - name: production - URL: >- - s3://resilien.fr?endpoint=https://s3.garage.resilien.cloud&disableSSL=true&s3ForcePathStyle=true®ion=garage diff --git a/config/staging/config.yml b/config/staging/config.yml index 28f40db..7b35356 100644 --- a/config/staging/config.yml +++ b/config/staging/config.yml @@ -1,7 +1 @@ baseURL: https://staging.resilien.fr/ - -deployment: - targets: - - name: staging - URL: >- - s3://staging.resilien.fr?endpoint=https://s3.garage.resilien.cloud&disableSSL=true&s3ForcePathStyle=true®ion=garage diff --git a/content/_index.md b/content/_index.md index 9ec3f7b..2b02e8c 100644 --- a/content/_index.md +++ b/content/_index.md @@ -23,17 +23,17 @@ RésiLien est géré par un **collectif** d'entreprises de l'**Économie Sociale
-
-
## Quels services propose RésiLien ? {.center} -Tous les services sont Open Source et sont accompagnés d'une formation personnalisée. Des sauvegardes sont effectuées quotidiennement sur un autre site. +-
-
-
+ ![Collaboration sur un document](/icons/writting.svg) + ### Prise de notes collaborative + + Avec le logiciel libre Hedgedoc, prenez des notes à plusieurs au format Markdown. -
![Partager ses fichiers avec son équipe](/icons/share-file.svg) @@ -48,15 +48,6 @@ Tous les services sont Open Source et sont accompagnés d'une formation personna
Avec le logiciel libre Nextcloud, partagez votre calendrier et vos contacts avec les membres de votre organisation. - --
- - ![Collaboration sur un document](/icons/writting.svg) - ### Prise de notes collaborative - -
- Avec le logiciel libre Hedgedoc, prenez des notes à plusieurs au format Markdown. - -
![Éco-conception de site internet](/icons/website.svg) @@ -66,8 +57,6 @@ Tous les services sont Open Source et sont accompagnés d'une formation personna Avec le logiciel libre Hugo, l'équipe de RésiLien peut concevoir un site web selon votre demande et l'héberger sur son infrastructure. { .cards } -
-
@@ -76,17 +65,31 @@ Tous les services sont Open Source et sont accompagnés d'une formation personna ## Comment bénéficier des services de RésiLien ? {.center} -Ayant à cœur d'avoir une **relation de proximité**, nous vous conseillons de contacter l'antenne la plus proche. Celle-ci vous enverra une proposition commerciale en fonction de vos besoins. Chaque prestation inclut une **période d'accompagnement pour l'utilisation des services**. +Pour tous les services hébergés par RésiLien, ce sera l'entreprise Weko (département de la Loire) ou Libenume (département des Côtes d'Armor) votre interlocutrice principale selon votre proximité géographique. -- #### Antenne Loire - Simon Constans - [loire@resilien.fr](mailto:loire@resilien.fr) +- ### [Weko](https://weko.io) + [simon@weko.io](mailto:simon@weko.io) [07 57 18 01 68](tel:0757180168) -- #### Antenne Côtes d'Armor - Killian Kemps - [cotesdarmor@resilien.fr](mailto:cotesdarmor@resilien.fr) +- ### [Libenume](https://libenume.fr/) + [contact@libenume.fr](mailto:contact@libenume.fr) [07 64 70 62 94](tel:0764706294) -{ .cards .center } +{ .cards } + +Ayant à cœur d'avoir une **relation de proximité**, nous vous conseillons de contacter l'entreprise la plus proche. Celle-ci vous enverra une proposition commerciale en fonction de vos besoins. Chaque prestation inclut une **période d'accompagnement pour l'utilisation des services**. + +
+ +
+
+ +## Blog +{.center} + +Voici nos derniers articles de blog : + +{{< blog-article-last >}} + +[Voir tous les articles](/blog/)
diff --git a/content/blog/2021/2021-12-21-integration-des-chatons.md b/content/blog/2021/2021-12-21-integration-des-chatons.md index 9d59595..a8d5b55 100644 --- a/content/blog/2021/2021-12-21-integration-des-chatons.md +++ b/content/blog/2021/2021-12-21-integration-des-chatons.md @@ -2,7 +2,6 @@ title: RésiLien intègre les CHATONS description: RésiLien est très fier d'intégrer la grande famille des CHATONS et espère pouvoir y contribuer à son niveau ! date: 2021-12-21 -SocialImage: logo_chatons_v3.1.svg --- # RésiLien intègre les CHATONS diff --git a/content/blog/2022/2022-01-26-l-impact-environnemental-du-numerique/index.md b/content/blog/2022/2022-01-26-l-impact-environnemental-du-numerique/index.md index 65deb57..015ec64 100644 --- a/content/blog/2022/2022-01-26-l-impact-environnemental-du-numerique/index.md +++ b/content/blog/2022/2022-01-26-l-impact-environnemental-du-numerique/index.md @@ -45,7 +45,7 @@ En France, la priorité n'est donc pas de réduire la consommation d'énergie de ## Conclusion -Certes les secteurs des transports et de l'agriculture représentent la plus grande part des émissions de gaz à effet de serre (GES), mais le numérique est de plus en plus utilisé et prend une part de plus en plus importante. En France, de part un mix énergétique comprenant en majorité l'énergie d'origine nucléaire, les émissions de GES sont plus faibles que pour d'autres pays. +Certes les secteurs des transports et de l'agricultures représentent la plus grande part des émissions de gaz à effet de serre (GES), mais le numérique est de plus en plus utilisé et prend une part de plus en plus importante. En France, de part un mix énergétique comprenant en majorité l'énergie d'origine nucléaire, les émissions de GES sont plus faibles que pour d'autres pays. Nous tenons à vous faire remarquer que dans cet article, nous n'avons considéré que les émissions de GES qui agissent directement sur le réchauffement climatique. Nous n'avons pas détaillé la pollution liée directement à l'exploitation de mines et à la fabrication de cartes électroniques. Le sujet de l'impact environnemental du numérique est encore à ses débuts et nous n'avons pas connaissance de tous les détails. diff --git a/content/blog/2022/2022-02-01-la-sobriete-numerique/Ordinateur_low-tech_IMG_0133.jpg b/content/blog/2022/2022-02-01-la-sobriete-numerique/Ordinateur_low-tech_IMG_0133.jpg deleted file mode 100644 index 80dee69..0000000 Binary files a/content/blog/2022/2022-02-01-la-sobriete-numerique/Ordinateur_low-tech_IMG_0133.jpg and /dev/null differ diff --git a/content/blog/2022/2022-02-01-la-sobriete-numerique/index.md b/content/blog/2022/2022-02-01-la-sobriete-numerique/index.md deleted file mode 100644 index f883e08..0000000 --- a/content/blog/2022/2022-02-01-la-sobriete-numerique/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: La sobriété numérique -description: Le principe de « sobriété numérique » auquel nous adhérons chez RésiLien, énoncé pour la première fois par GreenIT (Frédéric Bordage) en 2008, a été popularisé ces dernières années notamment via le Shift Project. Dans cet article nous allons tenter de comprendre les enjeux autour de la sobriété numérique. -date: 2022-03-10 -SocialImage: Ordinateur_low-tech_IMG_0133.jpg ---- - -# La sobriété numérique - -Dans le [premier article](/blog/limpact-environnemental-du-num%C3%A9rique/) de la série, nous avions évoqué l'impact environnemental du numérique et cité le rapport d'octobre 2018 du think tank Shift Project. Son intitulé : « Lean ICT : Pour une sobriété numérique »[^lean-ict-shift-project]. En 2020, le think tank a conservé son cap et a publié un nouveau rapport avec pour nom « Déployer la sobriété numérique »[^deployer-sobriete-numerique-shift-project]. Le principe de « sobriété numérique » auquel nous adhérons chez RésiLien, énoncé pour la première fois par GreenIT (Frédéric Bordage) en 2008[^green-it-definition], a été popularisé ces dernières années notamment via le Shift Project. Dans cet article nous allons tenter de comprendre les enjeux autour de la sobriété numérique. - -## Principe de la sobriété numérique - -Nous proposons tout d'abord de définir ce que signifie la « sobriété numérique ». GreenIT a été le premier en 2008 à inscrire une définition, très succinte, dans son glossaire : « la démarche qui consiste à concevoir des services numériques plus sobres et à modérer ses usages numériques quotidiens »[^green-it-definition]. Cependant cette définition reste très vague car il n'est pas précisé ici dans quel but nous pouvons modérer ses usages ni jusqu'à quel niveau nous devons modérer. - -Le Shift Project a quant à lui énoncé un objectif pour la sobriété numérique qui permet de mieux comprendre son périmètre : « La sobriété numérique appelle à tirer parti de nos capacités d’analyse pour construire et utiliser un système numérique qui, en ramenant sa consommation de ressources matérielles et énergétiques à un niveau compatible avec les contraintes environnementales, préserve ses apports sociétaux essentiels. »[^deployer-sobriete-numerique-shift-project]. - -Dans notre recherche d'une bonne définition pour la sobriété numérique, nous avons aussi repéré cet extrait dans le rapport du Shift Project : « La démarche de sobriété numérique consiste à passer d’un numérique devenu instinctif à un numérique conscient et réfléchi. Il est nécessaire d’identifier les apports sociétaux du numérique à préserver et développer, afin de pouvoir leur allouer en priorité les ressources disponibles. »[^deployer-sobriete-numerique-shift-project] - -Pour résumer les définitions que nous avons citées, le principe de sobriété numérique remet en cause la place du numérique dans la société. Il nous incite à tenir un esprit critique face à ses impacts environnementaux et sociaux, et à adapter nos comportements et nos usages afin de limiter ses impacts négatifs d'une part et de préserver ses intérêts sociaux d'autre part, de sorte à tendre vers un avenir durable et souhaitable. - -![Illustration d'un ordinateur low-tech entouré de plantes. Crédit : Low-Tech Lab](Ordinateur_low-tech_IMG_0133.jpg)[^image-ordinateur-low-tech-lab] - -## Pourquoi faire de la sobriété numérique - -Nos équipements tels que les téléphones portables contiennent des métaux et des terres rares qui ne sont pas renouvelables (cuivre, aluminium, zinc, or, argent, palladium, platine, cobalt, lithium, etc.). Certes, les technologies évoluent pour utiliser moins de matériaux et être plus efficients, mais nous continuons à extraire de plus en plus de minéraux et les réserves se tarissent. - -En parallèle, le gestionnaire du réseau électrique français RTE, a planifié dans son dernier rapport une réduction de la consommation énergétique française de 40% d'ici 2050 afin de respecter les objectifs climatiques[^rte-rapport]. Pour atteindre ces objectifs, l'efficacité énergétique des appareils n'est pas suffisante et RTE préconise en complément une sobriété dans les usages. - -La sobriété numérique permet de réduire l'utilisation de matériaux ainsi que la consommation énergétique, mais aussi de réduire notre charge cognitive et avoir une relation plus apaisée avec le numérique. En opposition au capitalisme de l'attention, Yves Citton propose le terme d'écologie de l'attention. Au-delà d'une réponse directe aux enjeux environnementaux, prendre du recul avec notre utilisation du numérique nous permet de mieux distinguer les mécanismes en place et de privilégier ceux que nous considérons comme plus bénéfiques pour nous. - -Chez RésiLien nous considérons que le principe de sobriété numérique est une approche essentielle pour notre bien-être personnel et collectif, et qui remet en cause notre course effrénée actuelle dans les nouvelles technologies. - -[^lean-ict-shift-project]: « Pour une sobriété numérique » : le nouveau rapport du Shift publié. The Shift Project [en ligne]. 4 octobre 2018 [consulté le 28 janvier 2022]. Disponible sur : https://theshiftproject.org/article/pour-une-sobriete-numerique-rapport-shift/ -[^deployer-sobriete-numerique-shift-project]: Publication du rapport "Déployer la sobriété numérique". The Shift Project [en ligne]. 14 octobre 2020 [consulté le 28 janvier 2022]. Disponible sur : https://theshiftproject.org/article/deployer-la-sobriete-numerique-rapport-shift/ -[^green-it-definition]: Glossaire - Green IT. Green IT [en ligne]. 21 mai 2008 [consulté le 28 janvier 2022]. Disponible sur : https://www.greenit.fr/2008/05/21/glossaire/ -[^beyssac-sobriete-numerique]: Beyssac, P. (2020, 15 juillet). La sobriété numérique, oui mais pour quoi faire ? | Signal. Signal | voie libre ou appel système. https://signal.eu.org/blog/2020/07/15/la-sobriete-numerique-oui-mais-pour-quoi-faire/ -[^impact-email]: Empreinte carbone d'un e-mail : mythes, réalités et solutions. (2022, 26 janvier). Avec Sami, pilotez la démarche écologique de votre entreprise. https://www.sami.eco/post/empreinte-carbone-email -[^wikipedia-effet-rebond]: CONTRIBUTEURS AUX PROJETS WIKIMEDIA. Effet rebond (économie) — Wikipédia. Wikipédia, l'encyclopédie libre [en ligne]. 1 septembre 2007 [consulté le 1 février 2022]. Disponible sur : [https://fr.wikipedia.org/wiki/Effet_rebond_(économie)](https://fr.wikipedia.org/wiki/Effet_rebond_(économie)) -[^rte-rapport]: RTE, 2021. Futurs-Energetiques-2050-principaux-resultats.pdf [en ligne]. [Consulté le 3 mars 2022]. Disponible à l’adresse : https://assets.rte-france.com/prod/public/2021-12/Futurs-Energetiques-2050-principaux-resultats.pdf -[^image-ordinateur-low-tech-lab]: Ordinateur low-tech — Low-tech Lab. Low-tech Lab [en ligne]. 18 mai 2019 [consulté le 10 mars 2022]. Disponible sur : https://wiki.lowtechlab.org/wiki/Ordinateur_low-tech diff --git a/content/blog/2022/2022-03-16-comment-resilien-la-sobriete-numerique/RasperryPi_Violet_ResiLien.jpg b/content/blog/2022/2022-03-16-comment-resilien-la-sobriete-numerique/RasperryPi_Violet_ResiLien.jpg deleted file mode 100644 index 1501219..0000000 Binary files a/content/blog/2022/2022-03-16-comment-resilien-la-sobriete-numerique/RasperryPi_Violet_ResiLien.jpg and /dev/null differ diff --git a/content/blog/2022/2022-03-16-comment-resilien-la-sobriete-numerique/index.md b/content/blog/2022/2022-03-16-comment-resilien-la-sobriete-numerique/index.md deleted file mode 100644 index bf3ebea..0000000 --- a/content/blog/2022/2022-03-16-comment-resilien-la-sobriete-numerique/index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Comment RésiLien souhaite encourager la sobriété numérique -description: Que fait RésiLien pour encourager la sobriété numérique au sein de son organisation et chez ses clients ? Nous listons dans cet article quelques une de nos pratiques. -date: 2022-03-25 -SocialImage: RasperryPi_Violet_ResiLien.jpg ---- - -# Comment RésiLien souhaite encourager la sobriété numérique - -## La sobriété numérique chez RésiLien - -Nous avons vu dans le précédent article le principe de sobriété numérique et en quoi nous pensons chez RésiLien qu'il est pertinent pour continuer à utiliser le numérique tout en restant compatible avec les contraintes environnementales. Nous proposons de lister dans cet article quelques unes des initiatives que nous menons à ce jour pour inciter à la sobriété numérique. - -### Serveurs reconditionnés basse consommation - -Comme nous avons vu dans le premier article sur l'impact environnemental du numérique, la majeure partie de la pollution du numérique se situe au moment de la production. Afin de réduire cet impact, nous privilégions l'utilisation de serveurs reconditionnés pour les services ayant des grands besoins en puissance. Pour les services plus légers, nous utilisons essentiellement des micro-ordinateurs à basse consommation comme les [Raspberry Pi](https://fr.wikipedia.org/wiki/Raspberry_Pi). Nous utilisons du matériel adapté en fonction des besoins et dans tous les cas nous cherchons à éviter d'acheter du matériel neuf mais plutôt de faire du réemploi. - -![Image d'un de nos micro-ordinateurs Raspberry Pi 4](RasperryPi_Violet_ResiLien.jpg) - -### L'énergie électrique renouvelable - -Même si nous utilisons principalement des serveurs à basse consommation (en moyenne 1W pour un Rasperry Pi), nos serveurs consomment toujours de l'électricité. Afin de réduire notre impact environnemental sur le plan énergétique nous avons choisi de nous fournir en énergie exclusivement renouvelable chez [Enercoop](https://www.enercoop.fr/) et [Ilek](https://www.ilek.fr/). - -### L'éco-conception et la préférence pour les sites statiques - -L'une de nos principales activités est la conception et l'hébergement de sites web. Il existe une multitude d'outils d'une qualité variable pour générer un site web. Dans notre cas, nous choisissons de penser à l'éco-conception en amont. C'est-à-dire que nous questionnons tout d'abord le but du site web avant de considérer des sujets techniques. Parfois un site web n'est pas l'outil le plus approprié. Ensuite nous considérons les principales fonctionnalités attendues. Avez-vous toujours besoin d'un système de commentaires ? En général nos clients constatent que leurs besoins sont plus simples que ce qu'ils s'imaginent et nous pouvons alors opter pour la conception d'un site web statique. Un site web est dit statique lorsqu'il est nécessaire de manuellement le régénérer et que son contenu ne change pas continuellement, en opposition aux sites web dynamiques. Les sites web statiques demandent moins de ressources techniques et nous permettent de les héberger facilement sur des micro-serveurs. De plus, leur maintenance est simple car ces sites ne présentent pas de failles de sécurité et pourraient être laissés en l'état sans risquer d'être piratés. Pour illustrer notre propos, le site web sur lequel vous lisez cet article actuellement, est un site web statique. - -### Pas de haute disponibilité par défaut - -Les grands acteurs du *« cloud »*[^note-terme-cloud] nous ont habitué à des niveaux de service qualifiés de « haute disponibilité ». Ce niveau de service signifie qu'un service est constamment en ligne et présente quasiment pas de panne. On parle dans le jargon d'un niveau de disponibilité de 99,99% par exemple. C'est-à-dire que sur une année, un site web est accessible 99,99% du temps. Pour obtenir un tel niveau de service, il est nécessaire de doubler tout le matériel utilisé. Au lieu d'avoir un seul serveur pour héberger un site web, il en faut au moins deux (si ce n'est parfois plus) pour que dans le cas où un serveur tombe en panne un autre puisse prendre le relais instantanément. La consommation énergétique et l'empreinte environnemental se voient alors multipliés par autant de serveurs supplémentaires qui fonctionnent en parallèle. Mais que signifie un niveau de disponibilité de 99,99% ? Avec des [calculateurs de ce type](https://www.xarg.org/tools/sla-uptime-calculator/) nous constatons que 99,99% correspond en moyenne à une panne d'environ 1 heure sur toute une année. Atteindre un niveau de disponibilité de 1 heure de panne par an vaut-il la peine de multiplier notre empreinte environnementale par deux ou plus ? Pour certains grands sites web de e-commerce, oui ; pour la plupart des autres sites web, non. Nous choisissons de réduire notre empreinte environnementale et de ne pas proposer ce niveau de service par défaut. - -Au contraire, nous discutons avec chacun de nos clients pour évaluer leurs véritables besoins. Tout d'abord nous expérimentons l'extinction des machines la nuit car la plupart de nos clients sont des professionnels qui travaillent seulement la journée. Cela signifie que nous réduisons quasiment de moitié la consommation énergétique quotidienne de nos serveurs. Ensuite, lorsqu'une maintenance est prévue, par exemple une coupure de courant par Enedis durant une journée, nous contactons d'abord nos clients pour évaluer ce qui est nécessaire de continuer à fonctionner. Généralement pour des besoins de référencement nous nous assurons de la disponibilité en continu des sites web. Cependant pour les autres services, nos clients peuvent nous indiquer qu'ils peuvent s'en passer pendant quelques heures et nous évitons de la sorte le déploiement de nouvelles machines. - -### La non-mutualisation des serveurs - -Il existe un grand débat autour de la mutualisation. Nous n'avons pas la réponse mais nous avons choisi d'expérimenter. En théorie en mutualisant les ressources, c'est-à-dire dans notre domaine en rassemblant les serveurs informatiques dans des centres de données, nous consommons moins d'énergie pour un même usage car l'allocation des ressources des serveurs est optimisée. Mais quid de l'effet rebond ? C'est-à-dire que comme tout est mutualisé, et généralement industrialisé, il est facile de consommer plus. Grâce au *« cloud »* il suffit d'un clic pour utiliser un nouveau serveur. S'il suffit d'un clic, nous sommes alors tentés de trop consommer. Chez RésiLien, l'infrastructure est tellement petite que nous ne pouvons pas nous permettre de trop consommer. Pour utiliser une nouvelle machine nous devons la brancher et l'installer manuellement, ce n'est pas une tâche pénible mais ce n'est certainement pas aussi facile que dans le *« cloud »*. Il n'y a aujourd'hui pas de consensus sur le sujet mais nous pensons qu'en ayant un accès plus limité aux serveurs, nous serons moins tentés de vouloir consommer. - -Un autre point à considérer aussi est le refroidissement des machines. Un serveur informatique en fonctionnement émet de la chaleur et plus il y a de serveurs dans un local, plus il y a de chaleur émise. Cependant ce matériel supporte mal la chaleur et ses performances décroissent à mesure que la température augmente. Il est d'usage alors d'utiliser des systèmes de refroidissement pour maîtriser la température des machines. Le système le plus répandu est la ventilation des locaux pour faire circuler l'air. Il existe aussi d'autres systèmes mais, pour la plupart, ils demandent tous une consommation énergétique supplémentaire pour le refroidissement. Chez RésiLien, nous avons peu de machines dans un même local et nous n'utilisons pas de système de refroidissement mis à part les ventilateurs qui peuvent être intégrés à certains serveurs. En réduisant la concentration de serveurs informatiques dans un même endroit, nous économisons l'énergie électrique supplémentaire qui pourrait être consommée par un système de refroidissement. - -Nous expérimentons sur l'axe de la décentralisation des serveurs, nous mesurons notre impact et nous verrons dans quelque temps si notre intuition est la bonne. - -### Une offre de service réduite et qualifiée - -Si le choix de trop consommer ne vous est pas proposé, vous risquez moins d'abuser ! Chez RésiLien nous cherchons à sélectionner les services les plus pertinents pour nos clients, pas plus. Il s'agit ici d'une méthode organisationnelle que nous cherchons à suivre. Nous cherchons à proposer des services qui peuvent être mutualisés et qui sont pertinents pour le plus grand nombre de clients. Il est possible de proposer un service spécifiquement pour le besoin d'un client mais nous devons nous assurer qu'il est utilisé en son plein potentiel. Nous nous concentrons sur une offre limitée que nous pouvons maintenir quotidiennement pour en assurer la qualité. Finalement ici le pragmatisme est compatible avec la logique économique et nous permet d'augmenter nos possibilités de devenir une entreprise rentable. - - -### Une capacité de stockage adaptée à votre stricte utilisation - -Les coûts de stockage se réduisent de plus en plus et aujourd'hui il est possible de louer 2 To de stockage cloud pour 5€/mois chez un grand hébergeur. Plus il y a d'espace disponible, plus nous pouvons être tentés de consommer ! Nous avons fait le choix de proposer une faible capacité de stockage par défaut et de prendre en compte le coût de la sauvegarde pour chaque Go de stockage. En effet, 1 Go de stockage loué chez RésiLien équivaut à environ 3Go de stockage effectif en prenant en compte les duplications de données pour sauvegarder vos données sur des sites distants. À chaque fois que vous atteignez vos limites de stockage, vous êtes encouragés à vous demander si c'est nécessaire de louer plus ou si vous pouvez faire un peu de ménage dans vos données. - -## Et pour la suite ? - -Nous vous avons présenté une petite liste de pratiques que nous suivons pour encourager à la sobriété numérique. Certaines de ces pratiques sont largement admises, d'autres sont sujettes à discussion. Pour ne pas rester dans la discussion, nous avons choisi au sein de RésiLien de tester en pratique nos idées. Nous mesurons notre consommation énergétique et nous notons tous les achats de matériel, neuf et reconditionné, de sorte à avoir des données réelles. Nous verrons d'ici quelques mois lorsque nous aurons suffisamment de clients pour évaluer notre empreinte environnementale lors du fonctionnement en charge normal de nos services. Nous sommes ouverts à tout retour concernant nos pratiques et nous espérons découvrir de nouvelles techniques aussi ! - -[^note-terme-cloud]: Nous utilisons le terme *« cloud »* car c'est le plus répandu pour désigner les serveurs informatiques présents dans les centres de données et qui sont capables de changer de capacité dynamiquement. Cependant nous n'apprécions pas la métaphore du nuage (*« cloud »* signifie nuage en anglais) car nous considérons qu'il participe à la vision dématérialisée du numérique et que la plupart des personnes n'ont pas conscience de la réalité matérielle que le *« cloud »* représente. D'ailleurs en français nous pouvons parler d'« infonuage ». diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 0000000..67c53a8 --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,38 @@ +version: "3.8" + +volumes: + resilien-log: + name: resilien-log + resilien-stats: + name: resilien-stats + +services: + resilien-prod: + container_name: resilien-prod + build: . + image: registry.weko.io/resilien_fr:latest + restart: always + labels: + traefik.enable: "true" + traefik.http.routers.resilien.rule: "Host(`${URL}`)" + traefik.http.routers.resilien.entrypoints: "web" + com.centurylinklabs.watchtower.enable: true + volumes: + - resilien-log:/var/log/nginx + - resilien-stats:/usr/share/nginx/html/stats + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + + resilien-stats: + container_name: resilien-stats + image: registry.weko.io/goaccess:1.5.1 + restart: always + volumes: + - resilien-log:/var/log/nginx + - resilien-stats:/usr/share/nginx/html/stats + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + +networks: + default: + name: traefik diff --git a/docker-compose.staging.yml b/docker-compose.staging.yml new file mode 100644 index 0000000..d52a9a2 --- /dev/null +++ b/docker-compose.staging.yml @@ -0,0 +1,20 @@ +version: "3.8" + +networks: + default: + name: traefik + +services: + resilien-staging: + container_name: resilien-staging + build: . + image: registry.weko.io/resilien_fr:staging + restart: always + labels: + traefik.enable: "true" + traefik.http.routers.resilien-staging.rule: "Host(`staging.${URL}`)" + traefik.http.routers.resilien-staging.entrypoints: "web" + com.centurylinklabs.watchtower.enable: true + volumes: + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index edb6b9b..0293544 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -15,7 +15,3 @@
  • Politique de protection des données
  • -{{ if or (eq hugo.Environment "production") (eq hugo.Environment "staging") }} - - -{{ end }} diff --git a/layouts/partials/header.html b/layouts/partials/header.html index 00ccd2b..ce65e06 100644 --- a/layouts/partials/header.html +++ b/layouts/partials/header.html @@ -8,7 +8,7 @@ {{ printf "" $tag | safeHTML }}