Skip to content

Commit

Permalink
Add documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
hrenaud committed Feb 17, 2024
1 parent 79e670b commit f6749f3
Show file tree
Hide file tree
Showing 21 changed files with 861 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/retype-action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Publish Retype powered website to GitHub Pages
on:
workflow_dispatch:
push:
branches:
- main

jobs:
publish:
name: Publish to retype branch

runs-on: ubuntu-latest

permissions:
contents: write

steps:
- uses: actions/checkout@v3

- uses: retypeapp/action-build@latest
with:
config: ./docs/retype.yml

- uses: retypeapp/action-github-pages@latest
with:
update-branch: true
1 change: 1 addition & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
1 change: 1 addition & 0 deletions docs/.nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v20.10.0
39 changes: 39 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
label: Intro
icon: home
order: 10000
---

# REFGEN, une solution pour difuser les Bonnes pratiques du Green IT

## :icon-goal: Objectifs

- :icon-megaphone: **Permettre la consultation des référentiels** de bonnes pratiques du Green IT de manière simple et accessible, au travers d'un site web afin que **tout le monde puisse s'approprier de Bonnes pratiques d'écoconception** ;
- :icon-people: **Facilité la contribution aux référentiels** de Bonnes pratiques du Green IT dans un CMS qui cadre la contribution afin de garantir la qualité des données, ce qui rend possible la génération du site statique ;
- :icon-north-star: **Maitriser l'impact environnemental des sites des Bonnes pratique** en utilisant un générateur de site statique, écoconçu et utilisant peu de ressources ;
- :icon-north-star: **Maitriser l'impact environnemental de l'outil de contribution** en utilisant un "Git-Based" CMS qui ne tourne pas tout le temps, pour rien ;
- :icon-fiscal-host: **Pérénniser les données** en les stockant dans un dépôt Git au format Markdown :icon-markdown: qui conserve les versions.

## :icon-rocket: Fonctionnalités du site

- :icon-file-badge: Affichage des référentiels de Bonnes pratiques ;
- :icon-comment: Un **Lexique** des termes utilisés est proposé. Les fiches du lexique peuvent aussi s'afficher automatiquement dans des bulles contextuelles dans les fiches de Bonnes pratiques ;
- :icon-person-fill: Les Bonnes pratiques peuvent être **assignées à des métiers, au travers de Personas** qui peuvent être cachées ;
- :icon-search: **Un moteur de recherche** permet de trouver les contenus du site ;
- :icon-filter: Les Bonnes pratiques peuvent être **filtrées** par plusieurs catégorie sur la page "Bonnes pratiques" ;
- :icon-globe: **Site multilingue** (français, espagol, anglais, ect.), les fiches et lexiques peuvent être traduits dans ces langues. D'autres langues peuvent être ajoutées facilement ;
- :icon-zap: Une **API** permet de récupérer les données des référentiels.

## :icon-heart: Contribuer, proposer des améliorations proposer de nouvelles Bonnes pratiques

- :icon-iterations: [**Contribuer** à l'amélioration des référentiels de Bonnes pratiques du Green IT](./contrib) ;
- :icon-plus-circle: [**Proposer** de nouvelles Bonnes pratiques](./proposal) ;

## :icon-flame: Évolution majeur du référentiel

- :icon-tag: [**Nouvelle version** du référentiel](./new-version).

## :icon-stack: Pour aller plus loin, les solutions utilisées

- :icon-paper-airplane: [**Astro** - Générateur de site](./stack/1-generateur-de-site)
- :icon-checklist: [**TinaCMS** - CMS basé sur Git](./stack/2-git-based-cms)
12 changes: 12 additions & 0 deletions docs/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
label: A propos
icon: info
order: 100
---

# A propos de ce projet

Une contribution de l'association [GreenIT.fr](https://asso.greenit.fr/) à la communauté de l'écoconception.

[![](./static/logo-asso-greenit.svg "Aller sur le site de l'association")](https://asso.greenit.fr/)

163 changes: 163 additions & 0 deletions docs/contrib.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
---
label: Contribuer / mettre à jour
icon: iterations
order: 9000
---

# Contribuer

## Prérequis

[!ref](./installation.md)

## Informations de base

!!!info Des Référentiels différents [!badge RWP] [!badge RWEB] [!badge ...]
Les référentiels ayant été créé pour des publics différents et par des équipes différentes, ils n'ont pas tous les mêmes métadatas ou la même structure de contenu.
**Au fur et a mesure de l'évolution des versions des référentiels, nous tâcherons de les harmoniser.**
!!!

### [!badge RWP] refID

`numero de cycle.numéro de la bonne pratique` (sur 3 digits)

**Exemple pour `3.08`**

- **Cycle de vie** `3` pour (Conception & Design)
- **Séparateur** `.`
- **Numéro de la bonne pratique** `008`

### [!badge RWEB] refID

Sur 4 digits depuis cette dernière version.

### Titre

Il doit être parlant et court.

### Versions

> Le `RefID`peut évoluer dans le temps, au fil des versions successives des référentiels.
Un champ `versions` est donc disponible pour indiquer son `refID` adapté la version du référentiel. Vous pouvez renseigner plusieurs couples `refID`/`version` pour une même fiche.
:icon-stop: **Il n'est pas automatisé**.

### Explication de certaines métadatas

!!!warning Attention
Les référentiels n'ont pas tous les mêmes métadatas.
Le CMS est configuré pour les gérer et vous proposer des champs adaptés.
!!!

#### [!badge RWP] [!badge RWEB] Le cycle de vie

Le cycle de vie d'un service numérique regroupe les étapes par lesquelles ce service passe au cours du temps.
Nous l'avons défini comme suit :

1. Analyse des besoins
2. Installation
3. Conception & Design
4. Intégration & Développement
5. Contenu & médias
6. Tests & validation
7. Mise en ligne
8. Maintenance
9. Fin de vie

#### [!badge RWP] La priorité d'implémentation

Nous estimons la priorité de mettre en oeuvre une bonne pratique via ce système :

- Faible 👍
- Moyen 👍👍
- Fort 👍👍👍

!!!info [!badge RWEB] l'équivalent de la priorité d'implémentation est le Degré de priorité
Le Degré de priorité est de `1` à `5` et est automatiquement calculée en utilisant `MOE` et `Impact l'environnemental`. C'est la raison pour laquelle vous ne la retrouvez pas dans l'outil de contribution.
!!!

#### [!badge RWP] L'impact environnemental

Nous évaluons l'impact de chaque bonne pratique, voire de chaque solution proposée avec le système suivant :

- Faible 🌱
- Moyen 🌱🌱
- Fort 🌱🌱🌱

#### [!badge RWEB] L'impact environnemental

Il est évalué en donnant une note de `1` à `5` pour chaque bonne pratique.

> Il est un des critères pour évaluer le Degré de priorité.
#### [!badge RWP] Compléxité d'implémentation

Nous évaluons l'impact de chaque bonne pratique, voire de chaque solution proposée avec le système suivant :

- Faible 🌱
- Moyen 🌱🌱
- Fort 🌱🌱🌱

#### [!badge RWEB] _Compléxité de_ Mise en œuvre

Il est évalué en donnant une note de `1` à `5` pour chaque bonne pratique.

> Il est un des critères pour évaluer le Degré de priorité.
#### [!badge RWP] [!badge RWEB] Les ressources sauvegardées

Pour une meilleure compréhension, de la localisation de l'impact ou des impacts environnementaux :

- **A utiliser en priorité**
- Processeur
- Mémoire vive
- Stockage
- Réseau
- Requêtes
- A utiliser suivant le contexte
- Déchets électroniques
- Consommation électrique
- Émissions de gaz à effet de serre

#### [!badge RWP] Le scope

Il est utilisé pour définir le périmètre de la bonne pratique. C'est une notion qui "s'ajoute" à la notion de cycle de vie.

- Périmètre
- Cache
- Documents
- Fonctionnalités
- Images
- Front-office
- Hébergement
- Performance
- Sécurité
- Thèmes
- SEO
- Stockage
- Vidéos/Audios

#### [!badge RWEB] Le Tier impacté

- Utilisateur/Terminal
- Réseau
- Datacenter

## Processus de contribution

**Règles à respecter**

1. Une nouvelle fiche fait l'objet d'une discussion dans GitHub avant d'être créée (consulter :icon-plus-circle: **Proposer**) ;
2. Travaillez sur une branche dédiée (voir ci-après) à la fiche que vous souhaitez modifier ou ajouter ;
3. Créer la fiche, ajouter des fiches au lexique si besoin ;
4. Faire une Pull Request ;
5. Attendre la validation de la Pull Request ;

!!!info Branche dédiée et banche source
\- Lors d'une nouvelle version du référentiel, il est nécessaire de créer une branche à partir de la branche de la nouvelle version `X.Y.z` (consulter la personne qui pilote).
\- En "temps normal", il est nécessaire de créer une branche à partir de la branche `develop`.
!!!

[!ref](./proposal.md)

[!ref](./installation.md)
52 changes: 52 additions & 0 deletions docs/installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
label: Installation et utilisation
icon: download
order: 6000
---

# Installation

## Prérequis

- Docker desktop : https://www.docker.com/products/docker-desktop/ (redémarrage requis)
- Git : https://git-scm.com/downloads
- Visual Studio Code : https://code.visualstudio.com/download
- [Le plugin VScode Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) `ms-vscode-remote.remote-containers`

## Installation

1. Cloner le projet
2. Ouvrir le projet dans Visual Studio Code
3. Ouvrir le dossier dans un container
4. Lancer le container
5. Ouvrir un terminal dans le container
6. Installer les dépendances

```bash
npm install
```

> Il n'y a pas besoin de fichier de configuration `.env`.
## Lancement

Lancer le site Astro et TinaCMS

```bash
npm run dev
```

- Pour voir le site : [http://localhost:4321/](http://localhost:4321/)
- Pour voir TinaCMS : [http://localhost:4321/admin/index.html](http://localhost:4321/admin/index.html)

**Arreter le site Astro et TinaCMS**

dans le terminal faites `[ctrl]`+`[c]`

### Ajout ou modification d'une fiche

Dans VSCode, créez une nouvelle branche à partir de la branche `main`.

Dans TinaCMS, ajoutez ou modifiez une fiche.

[TODO]
Loading

0 comments on commit f6749f3

Please sign in to comment.