This commit is contained in:
FyloZ 2021-08-15 19:50:19 -04:00
commit dd957c829b
Signed by: william
GPG Key ID: 835378AE9AF4AE97
6 changed files with 187 additions and 0 deletions

View File

@ -0,0 +1,114 @@
## Types de configuration
### Configurations manuelles
Ces configurations ne peuvent pas être gérées par l'installation et doivent être définies manuellement avant le démarrage de celle-ci.
Il y a plusieurs façon de modifier ces configurations.
#### Fichier de propriétés
Il est possible de créer un fichier de propriétés contenant les valeurs voulues et de le passer à l'application lors du démarrage. <br/>
**Exemple:** `java -Dspring.config.additional-location=chemin/vers/mon-fichier.properties -jar ColorRecipesExplorer.jar`
#### Variables d'environnement
Toutes les configurations manuelles peuvent être définies grâce aux variables d'environnements. <br/>
**Exemple Linux:** `SERVER_PORT=<port> java -jar ColorRecipesExplorer.jar`
#### Arguments de ligne de commande
Les configurations manuelles peuvent également être définies en ajoutant des propriétés en argument à la ligne de commande lors du démarrage. <br/>
**Exemple:** `java -Dserver.port=<port> -jar ColorRecipesExplorer.jar`
### Configurations gérées
Ces configurations sont gérées par l'installation et sont généralement modifiables dans l'interface. Ces configurations sont pour la plupart stockées dans la base de données. Celles qui doivent être lues avant l'accès à la base de données (comme l'URL de la base de données) sont stockées dans un fichier de configuration. **Une erreur dans ces configurations n'empêchera pas le démarrage de l'application**.
## Configurations
### Apparence
#### Logo
- Type: Gérée
- Propriété: `instance.logo.path`
- Stockage: Base de données
- Valeur par défaut: `images/logo`
Le chemin relatif vers le logo. Le logo s'affiche à la droite du menu dans l'interface.
#### Icône
- Type: Gérée
- Propriété: `instance.icon.path`
- Stockage: Base de données
- Valeur par défaut: `images/icon`
Le chemin relatif vers l'icône. L'icône s'affiche dans l'onglet de la page du navigateur.
### Données
#### Répertoire des données
- Type: Manuelle
- Propriété: `cre.server.data-directory`
- Variable d'environnement: `CRE_SERVER_DATA_DIRECTORY`
- Valeur par défaut: `data`
Spécifie l'endroit où seront stockées les données, comme les images et les fiches signalitiques.
#### Répertoire des configurations
- Type: Manuelle
- Propriété: `cre.server.config-directory`
- Variables d'environnement: `CRE_SERVER_CONFIG_DIRECTORY`
- Valeur par défaut: `config`
Spécifie l'endroit où seront stockées les configurations.
#### Période d'expiration de l'approbation de l'échantillon des recettes
- Type: Gérée
- Propriété: `recipe.approbation.expiration`
- Stockage: Base de données
- Format: Période ([Documentation](https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/time/Period.html))
- Valeur par défaut: `4M` (4 mois)
#### Période d'expiration des kits de retouches complets
- Type: Gérée
- Propriété: `touchupkit.expiration`
- Stockage: Base de données
- Format: Période ([Documentation](https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/time/Period.html))
- Valeur par défaut: `1M` (1 mois)
Les kits de retouche complétés expirent après la période configurée. Les kits de retouche expirés seront supprimés automatiquement.
#### Activer le cache des PDFs générés
- Type: Gérée
- Propriété: `touchupkit.pdf.cache`
- Stockage: Base de données
- Format: Booléen
- Valeur par défaut: `true`
Cette option permet de stocker les PDFs générés sur le disque, ce qui permet d'accélérer l'accès aux PDFs si la lecture des fichiers cachés sur le disque est plus rapide que la génération d'un nouveau PDF.
### Système
#### Port de l'instance
- Type: Manuelle
- Propriété: `server.port`
- Format: Nombre (0-65535)
- Valeur par défaut: `9090`
#### URL de l'instance
- Type: Gérée
- Propriété: `instance.url`
- Stockage: Base de données
- Format: URL (Important de ne pas avec une barre oblique à la fin)
- Valeur par défaut: `http://localhost:9090`
Utilisé pour générer l'URL de certaines ressources, comme les images et les fiches signalitiques.
#### URL de la base de données
- Type: Gérée
- Propriété: `database.url`
- Stockage: Fichier de configuration
- Format: URL JDBC
- Valeur par défaut: `mysql://localhost/cre`
#### Utilisateur de la base de données
- Type: Gérée
- Propriété: `database.username`
- Stockage: Fichier de configuration
- Valeur par défaut: `root`
#### Mot de passe de la base de données
- Type: Gérée
- Propriété: `database.password`
- Stockage: Fichier de configuration
- Valeur par défaut: `root`

View File

@ -0,0 +1,42 @@
### JWT
Color Recipes Explorer utilise JWT (JSON Web Tokens) pour garder une trace des utilisateurs authentifiés.
#### Clé secrète
- Type: Manuelle
- Propriété: `cre.security.jwt-secret`
- Variable d'environnement: `CRE_SECURITY_JWT_SECRET`
Les tokens JWT sont signés numériquement avec une clé secrète. Cela permet de sécuriser l'information qu'ils contiennent et ainsi s'assurer qu'ils peuvent seulement être lus par ceux qui ont accès à la clé secrète. Une clé secrète est pré-configurée dans chaque installation pour qu'elles fonctionnent sans configuration. Par contre, il est fortement recommandé de la changer car cette valeur est accessible publiquement.
#### Expiration
- Type: Manuelle
- Propriété: `cre.security.jwt-duration`
- Variable d'environnement: `CRE_SECURITY_JWT_DURATION`
- Format: Millisecondes
- Valeur par défaut: `18000000` (5 heure)
Les tokens JWT ont une expiration pour empêcher qu'un token volé soit éternellement valide.
### Configurations
#### Sel
- Type: Manuelle
- Propriété: `cre.security.config-salt`
- Variable d'environnement: `CRE_SECURITY_CONFIG_SALT`
- Format: Chaîne de caractères encodée en hexadécimal
Le sel est utiliser pour encrypter les configurations qui contiennent des informations sensibles, tel que le mot de passe de la base de donnée. Un sel unique est généré automatiquement lorsqu'il n'y en a aucun de configuré. Par contre, il est fortement recommandé de définir un sel car la valeur générée est stockée dans le même fichier que les configurations sensibles, ce qui n'est pas sécuritaire. Il est aussi important de garder le sel car s'il est perdu, les configurations sensibles ne seront plus lisibles.
### Utilisateur root
L'utilisateur root est toujours présent. Il a tous les droits et doit donc être plus sécurisé. Il devrait seulement être utilisé lorsque c'est nécessaire, lors du premier démarrage lorsqu'il n'y a aucun autre utilisateur, ou lorsque l'installation est en mode 'urgence' par exemple.
#### Identifiant
- Type: Manuelle
- Propriété: `cre.security.root.id`
- Variable d'environnement: `CRE_SECURITY_ROOT_ID`
- Valeur par défaut: `9999`
#### Mot de passe
- Type: Manuelle
- Propriété: `cre.security.root.password`
- Variable d'environnement: `CRE_SECURITY_ROOT_PASSWORD`
- Valeur par défaut: `password`

BIN
docs/assets/favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

BIN
docs/assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

19
docs/index.md Normal file
View File

@ -0,0 +1,19 @@
# Acceuil
Color Recipes Explorer est un gestionnaire de recettes de couleurs. Ce projet a été créé pour centraliser des recettes de couleurs qui étaient stockées dans des fichiers séparés, en plus d'offrir une meilleur gestion de celles-ci grâce à plusieurs fonctionnalitées:
* Gestion des utilisateurs
* Les utilisateurs ont différents niveaux d'accès aux fonctionnalités selon leurs permissions.
* Les utilisateurs peuvent être séparés en groupes qui ont également des permissions, qui seront héritées par ces utilisateurs.
* Un groupe par défaut peut être défini sur un navigateur pour permettre aux utilisateurs non connectés d'utiliser les fonctionnalités selon les permissions de ce groupe.
* Les actions exécutées par les utilisateurs sont journalisées. **(WIP)**
* Gestion des recettes de couleurs
* Les recettes de couleurs sont séparées en plusieurs mélanges pour permettre une meilleure organisation de celles-ci.
* Les quantités des produits dans les mélanges sont personnalisables et sont ajustées automatiquement pour toujours garder le même ratio.
* Les quantités des produits dans les mélanges peuvent exprimées en millilitres, en litres en galon américain.
* Des images peuvent être attachées à des recettes de couleurs.
* Certaines informations des recettes de couleurs (les notes et les étapes par exemple) peuvent être spécifiques à certains groupes.
* Il est possible d'exporter chaque recette de couleur vers un fichier Excel.
* Gestion des produits
* Une fiche signalitique (SIMDUT) peut être attachée à chaque produit pour permettre un accès immédiat en cas d'urgence.
* Une quantité en inventaire est stockée pour permettre de gérer plus facilement l'inventaire.
* Selon leur type, la quantité d'un produit dans une recette sera exprimée en pourcentage du premier ingrédient du mélange.

12
mkdocs.yml Normal file
View File

@ -0,0 +1,12 @@
site_name: Color Recipes Explorer
site_url: https://cre.fyloz.dev/docs
theme:
name: material
palette:
primary: black
accent: light green
logo: assets/favicon.png
favicon: assets/favicon.png
font:
text: Open Sans
language: fr