Coder Social home page Coder Social logo

fabmob / mob Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 3.0 57.96 MB

Mon Compte Mobilité est une plateforme de services neutre qui facilite les relations entre citoyens, employeurs, collectivités et opérateurs de mobilité autour d’un compte personnel de mobilité

Home Page: https://moncomptemobilite.fr/

License: Other

JavaScript 3.02% HTML 0.48% TypeScript 79.68% CSS 0.96% Shell 2.39% Dockerfile 0.18% EJS 1.11% Smarty 0.08% FreeMarker 6.75% HCL 0.08% SCSS 5.28%

mob's People

Contributors

jguedon avatar nonow53 avatar ttalex avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mob's Issues

[IDP] Création d'un compte administrateur fonctionnel

La documentation ne contient pas l'étape de création d'un compte administrateur fonctionnel, utilisé pour se connecter à l'interface d'administration

L'opération de création s'effectue dans l'interface d'administration de Keycloak:

  1. Menu Users
  2. Add User
  3. Préciser username
  4. Cocher la case email_verified
  5. Ajouter l'utilisateur au groupe /admins
  6. Lui affecter un mot de passe

[IDP] Installation du template MCM dans Keycloak

La documentation ne contient pas d'informations sur l'installation du thème Keycloak fourni dans ce dossier.

Deux fichiers nécessitent une configuration: email/theme.properties et login/theme.properties
Attention, il est important de s'assurer du contenu de ces fichiers avant l’ajout dans l’interface Keycloak. Le chargement de ces fichiers ayant un impact profond dans le système, les modifications futures nécessitent de récréer les conteneurs Keycloak et Postgre.

Une fois les fichiers theme.properties modifiés, l'installation se fait via la commande suivante:

sudo docker cp mcm_template keycloak:/opt/jboss/keycloak/themes/mcm_template

Le template peut ensuite être sélection via l'interface graphique
Ajout_template_keycloak

[IDP] Comment configurer overlays/realms/mcm-realm.json

Voici une méthode pour configurer le fichier overlays/realms/mcm-realm.json avant ajout à Keycloack.

Cette méthode suppose que l'ensemble des variables d'environnement nécessaires sont alloués dans un fichier .env

set -a
. .env
set +a
envsubst < mcm-realm.json >> mcm-realm-configured.json

De plus, pour les installations n'utilisant pas le connecteur France Connect, un certain nombre de lignes sont à retirer.

  • Retirer franceconnect-particulier dans identityProviders
  • Retirer les configurations correspondantes dans identityProviderMappers

Le retrait de ces configurations permet l'utilisation du fichier mcm-realm.json sans l'installation de la librairie Keycloak-FranceConnect

Valeurs par défaut pour les variables d'environnement

Il serait probablement utile de préciser les valeurs par défaut des variables d'env, pour guider un utilisateur dans la configuration.

En particulier sur les variables qui portent un nom différent, mais qui contiennent la même valeur.
Par exemple: CLIENT_SECRET_KEY_KEYCLOAK_API et IDP_API_CLIENT_SECRET
Ou: API_FQDN et PATH_API
Ou: IDP_DB_SERVICE_USER et DB_USER
Ou: IDP_DB_SERVICE_PASSWORD et DB_PASSWORD
(de même pour mongo user & password ?)

De même sur les variables qui dépendent les unes des autres, ou sont exclusives
Par exemple: IDP_FQDN et IDP_URL

De même sur les variables ou il n'est pas suggéré de changer la configuration.
Par exemple, la variable MONGO_AUTH_SOURCE doit rester à "admin"

[IDP] Installation de Keycloak en HTTPS avec Let's Encrypt

La documentation ne contient pas de précisions pour ce cas d'usage.

Voici quelques astuces:

  • Les certificats générés par let's encrypt doivent être montés en volume lors du lancement du conteneur
  • Les droits d'accès des certificats ne sont pas suffisants après génération
  • Le conteneur Keycloak utilise le port 8443 comme point d'entrée en HTTPS.

En pratique, après génération des certificats via let's encrypt, les certificats atterissent dans le dossier:
/etc/letsencrypt/live/<DOMAIN>/

Pour la suite des exemples, remplacer <DOMAIN> par le nom de domaine.

Création d'un dossier contenant une copie (obligatoire) des certificats à monter en volume

mkdir certs

Copie et renommage des certificats vers le dossier

sudo cp /etc/letsencrypt/live/<DOMAIN>/privkey.pem certs/tls.key
sudo cp /etc/letsencrypt/live/<DOMAIN>/fullchain.pem certs/tls.crt

Changement des droits d'accès aux certificats

chmod 755 certs/
chmod 604 certs/*

Lancement du conteneur Keycloak avec une configuration adaptée à HTTPS

sudo docker run -d --link postgres-mcm --name keycloak -p 9000:8443 -e KEYCLOAK_USER=${USER} -e KEYCLOAK_PASSWORD=${PASSWORD} -e DB_VENDOR=postgres -e DB_ADDR=postgres-mcm -e DB_PORT=5432 -e DB_DATABASE=idp_db -e DB_SCHEMA=idp_db -e DB_USER=${DB_USER} -e DB_PASSWORD=${DB_PASSWORD} -v certs/tls.crt:/etc/x509/https/tls.crt -v certs/tls.key:/etc/x509/https/tls.key jboss/keycloak:16.1.1

[Website] Documentation à améliorer

La documentation README.md présente dans le service website contient un certain nombre d'imprécisions:

Netlify-cms

  1. La description d'utilisation de netlify-cms est fortement lacunaire
  2. Une intégration avec Gitlab est sous entendue mais pas décrite, est-ce obligatoire ?
  3. Le fichier config.yml.with-variables est mentionné mais n'existe pas dans le dépot

Installation en local

  1. L'installation de nvm ne nécessite pas le passage en root
  2. La version v14.17.6 de node est incompatible avec l'un des modules: error [email protected]: The engine "node" is incompatible with this module. Expected version ">=14.18". Got "14.17.6" La version v14.18.3 semble plus pertinente
  3. Il n'est pas nécessaire de redémarrer ubuntu après l'utilisation d'nvm
  4. Le tutoriel étant aussi valide pour debian, il n'est pas limité à ubuntu
  5. Il manque l'étape d'installation: npm install -g yarn
  6. L'installation de gatsby nécessite de préciser sa version : npm install [email protected] -g la dernière version de gatsby n'étant pas compatible avec node v14
  7. La variable d'environnement PATH_API est nécessaire mais manquante dans la liste des variables
  8. Dans le fichier keycloak.json, il n'est pas évident que le champ clientId doit contenir platform (le nom du client configuré automatiquement dans Keycloak)
  9. Le fichier src/environnement.ts contient des variables à modifier, ce qui n'est pas précisé dans la documentation.
  10. La raison d'installation de la libraire libpng-dev n'est pas clair.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.