# Les portails de services de RésiLien

Ce projet permet de créer des portails de services, une page avec des liens vers les services que RésiLien met à disposition accompagnée d'une documentation mutualisée entre les différents portails.

## Explication technique

Dans Hugo, il est possible de créer des environnements spécifiques en général on l'utilise pour différencier des environnements de test, pord ou local. Nous l'utiliserons ici pour mettre en place un portail par environnement.

Lorsque l'on spécifie `export HUGO_ENVIRONEMENT=apps.p4pillon.org` et qu'on lance `npm run dev` qui n'est rien d'autre que la commande `hugo serve` avec des paramètres en plus alors il charge le dossier `config/apps.p4pillon.org`.

Dans ce dossier, on retrouve des fichiers de configuration dont le fichier `module.toml` qui permet de dire à Hugo quels dossiers sont pris en compte, ce qui nous permet d'avoir une configuration partagée dans le dossier `portails/shared` mais aussi de pouvoir surcharger facilement pour un besoin spécifique dans le dossier `portails/apps.p4pillon.org` par exemple.

Dans le dossier `portails/shared` nous allons avoir l'ensemble des templates (`layout`) que l'on surcharge de Doks, un catalogue de services dans le fichier `data/portails.yml` et l'ensemble de la documentation pour l'utilisation d'un service lui permettant de comprendre à l'utiliser.

Dans le dossier `portails/apps.p4pillon.org` nous aurons le dossier `content` permettant d'avoir du contenu spécifique mais aussi le fichier `data/services.yml` permettant de paramétrer les services.

## Déploiement

Un déploiement automatique a été mis en place `.drone.yml` pour que Drone déploie automatiquement l'ensemble des sites sur notre cluster S3.

## Mise à jour

Nous pouvons mettre à jour notre documentation générale ou les services proposés en ajoutant ou modifiant le contenu dans `portails/shared/` un dossier qui n'est pas référencé dans Doks ce qui simplifira les montés de version.

Pour mettre à jour Doks, il suffit d'ajouter le dépôt Git du projet original `git remote add doks git@github.com:gethyas/doks.git`, de rappatrier les nouveaux changements `git pull doks --rebase` et ainsi ne pas avoir de conflit. Seul le fichier `hugo_stats.json` qui récolte toutes les propriétés CSS du framework Tailwindcss utilisé dans les templates. C'est pourquoi un des premiers commit est la mise dans `.gitignore`.

Lors de la mise à jour de Doks, il faut vérifier s'il faut mettre à jour la version de Hugo dans `.drone.yml`. Je n'ai pas réussi à ce que l'image utilise le Drone importé par _npm_.
