portails/portails
Simon ea53e8a936 feat: Import portails architecture 2024-03-09 01:42:34 +01:00
..
apps.p4pillon.org feat: Import portails architecture 2024-03-09 01:42:34 +01:00
shared feat: Import portails architecture 2024-03-09 01:42:34 +01:00
README.md feat: Import portails architecture 2024-03-09 01:42:34 +01:00

README.md

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.