04. PREMIERS PARAMÉTRAGES
- 4.01 Configuration initiale
- 4.02 Société / Organisation
- 4.03 Modules
- 4.04 Menus
- 4.05 Affichage
- 4.06 Traduction
- 4.07 Valeurs / Filtres / Tris par défaut
- 4.08 Widgets
- 4.09 Alertes
- 4.10 Sécurité
- 4.11 Sauvegarde
- 4.12 Limites et précision
- 4.13 PDF
- 4.14 Emails
- 4.15 Dictionnaires
- 4.16 Utilisateurs
- 4.17 Options cachées (constantes avancées)
4.01 Configuration initiale
Avertissement : Sécurité post-installation : une fois l’installation terminée, les outils d’installation et de migration doivent être désactivés en créant un fichier install.lock dans le répertoire documents/ de votre instance Keatic ERP (par exemple C:/xampp/htdocs/keatic ERP-230/documents/). L’absence de ce fichier constitue une faille de sécurité. Les alertes restent visibles pour les administrateurs tant que la vulnérabilité est avérée, ou jusqu’à ce que la constante MAIN_REMOVE_INSTALL_WARNING soit définie dans Configuration > Divers.
Une fois l’installation réalisée, il est nécessaire de procéder à un paramétrage pour adapter Keatic ERP à vos besoins.
Figure 4.1 – Page d’accueil Keatic ERP après installation
4.02 Société / Organisation
Rendez-vous dans le menu Configuration > Société/Organisation et éditez toutes les informations connues sur la société ou association à gérer (cliquez sur le bouton Enregistrer en bas de page).
Onglet 1 – Informations générales :
Figure 4.2 – Onglet principal : informations de la société
Important : Définissez votre pays dès le départ : de nombreuses options en dépendent (TVA, formats de documents, etc.). Un message d’alerte vous le rappellera tant que ce champ est vide.
Renseignez votre adresse, téléphone, e-mail et importez le logo de votre société (format PNG ou JPG).
Astuce : Logo : évitez les images trop grandes qui pourraient déstructurer la présentation de vos modèles de documents et les alourdir inutilement.
Keatic ERP 24 propose désormais deux champs logo distincts :
- Logo : le logo standard utilisé dans les en-têtes de documents
- Logo (carré) : format carré pour les contextes où un rapport 1 :1 est nécessaire (icône d’application, notifications…)
Figure 4.3 – Champs Téléphone, Email, Logo et Logo (carré)
Figure 4.4 – Prévisualisation des deux logos après import
La section Identifiants société/organisation permet de renseigner les données légales : nom du gestionnaire, Délégué à la protection des données (DPO/RGPD), capital social, objet, numéro de TVA et identifiants professionnels (SIREN, SIRET…).
Figure 4.5 – Identifiants société : DPO, Capital, TVA, type d’entité légale
Note : Le champ DPO (Délégué à la protection des données) est nouveau en v24. Il permet de renseigner le contact RGPD de votre organisation, visible dans certains documents et exports.
Renseignez le mois de début d’exercice (les rapports du module Compta/Tréso s’afficheront à partir du mois choisi) et définissez si vous êtes assujetti ou non à la TVA — ce réglage conditionne le comportement de l’ensemble de votre instance Keatic ERP. Keatic ERP 24 gère également un 2ème et 3ème type de taxe pour les pays qui en ont besoin (hors France métropolitaine).
Figure 4.6 – Exercice fiscal et paramétrage TVA
Onglet 2 – Réseaux sociaux
Figure 4.7 – Gestion des réseaux sociaux de la société
Onglet 3 – Heures d’ouverture
Renseignez vos heures d’ouverture si vous avez une activité en présentiel.
Figure 4.8 – Paramétrage des heures d’ouverture
Informations comptable :
Vous pouvez également renseigner les coordonnées de votre comptable.
Figure 4.9 – Informations du comptable
4.03 Modules
Le choix des modules à activer est important — il dépend de l’utilisation prévue et du type de structure :
- Une société de services n’a pas forcément besoin des modules Produits et Stocks.
- Une PME revendeuse en aura besoin.
- Les modules Adhérents et Don n’intéressent que les associations. Chaque module peut être activé ou désactivé à tout moment en fonction de l’évolution de votre usage. La page Configuration > Modules/Applications propose en v24 quatre onglets :
- Modules/applications disponibles — liste des modules natifs à activer/désactiver
- Rechercher un module/application externe — recherche en ligne dans le catalogue de modules
- Déployer/Installer un module externe — installation par fichier ZIP
- Développer son propre module/application — accès aux outils du Module Builder
Figure 4.10 – Page Modules/Applications avec les catégories disponibles
Deux modes d’affichage sont disponibles : vue Kanban (par défaut, avec les modules regroupés par catégorie) et vue liste. Cliquez sur l’icône en haut à droite de la liste pour basculer.
Figure 4.11 – Modules GRC et GRF avec toggles d’activation
Installation d’un module externe :
Pour installer un module externe, utilisez l’onglet « Déployer/Installer un module externe » en téléchargeant directement le fichier ZIP.
Avertissement : Par défaut, tous les droits sur les dossiers et fichiers d’un module externe installé sont en lecture seule. Si vous intervenez dans le code, pensez à passer vos fichiers en écriture. Pensez également à augmenter la taille maximale des fichiers envoyés si les modules externes que vous souhaitez installer dépassent la limite par défaut.
4.04 Menus
Les gestionnaires de menu définissent le contenu des deux barres de navigation (horizontale et verticale). Il est possible de définir un gestionnaire différent selon que l’utilisateur est interne ou externe.
Figure 4.12 – Gestionnaires de menu
Figure 4.13 – Éditeur de menu personnalisé
Certains modules ajoutent automatiquement des entrées dans le menu Tous. En cliquant sur Nouveau, il est possible d’ajouter une entrée de menu personnalisée (par exemple un lien vers l’administration d’un module externe).
Figure 4.14 – Ajout d’une entrée de menu personnalisée
Astuce : Il est conseillé d’utiliser le menu Eldy, qui est le mieux maintenu. Si vous constatez un comportement anormal avec un autre gestionnaire, repassez au menu Eldy pour vérifier si le problème persiste. Si vous supprimez accidentellement des entrées de menu ajoutées par un module, vous pouvez les récupérer en désactivant puis réactivant le module concerné.
4.05 Affichage
La page Configuration > Affichage propose en v24 cinq onglets :
- Langue et présentation — langue, multi-langue, raccourcis, longueur des listes
- Thème et couleurs — thème visuel, couleurs, logos dans le menu
- Tableau de bord — message du jour, vignettes de la page d’accueil
- Page de connexion — message et image de fond personnalisés
- Style CSS (nouveau v24) — injection de CSS personnalisé sans modifier le core
Langue et présentation :
Choisissez ici tous les paramètres liés à l’affichage de Keatic ERP. L’option multi-langue permet de gérer différentes traductions pour l’affichage des produits et de choisir la langue par défaut des tiers pour l’édition des documents PDF.
Figure 4.15 – Options de la page Langue et présentation
Thème et couleurs :
Keatic ERP 24 propose deux thèmes visuels natifs :
- eldy — thème historique, le mieux maintenu
- md — thème Material Design, interface plus moderne
Astuce : Il est conseillé d’utiliser le thème Eldy, qui est le mieux maintenu. Si vous constatez un comportement anormal avec un autre thème, repassez sur Eldy pour vérifier si le problème persiste.
Keatic ERP permet une personnalisation poussée de l’interface :
- Mode thème sombre (toujours désactivé / auto / toujours activé)
- Icône ou texte dans le menu supérieur
- Affichage du logo de la société dans le menu
- Afficher les images du menu principal en couleur (nouveau v24)
- Affichage des bordures gauche-droite des tableaux avec rayon de courbure configurable (nouveau v24)
- Afficher une bordure aux champs de saisie du formulaire (nouveau v24)
- Couleur de fond (page, menu haut, menu gauche)
- Couleur du texte des titres, des liens, des lignes paires/impaires
- Couleur de la ligne de surbrillance au survol
- Couleur de la ligne cochée dans les listes
Figure 4.16 – Onglet Thème et couleurs : options de personnalisation
Tableau de bord et page de connexion :
Sous l’onglet Tableau de bord, vous pouvez renseigner le message du jour et désactiver certaines vignettes de la page d’accueil. Sous l’onglet Page de connexion, vous pouvez afficher un message personnalisé à l’aide des constantes de substitution, et définir une image de fond pour la page de connexion.
Style CSS (nouveau v24) :
L’onglet Style CSS permet d’injecter du CSS personnalisé directement depuis l’interface, sans modifier les fichiers du core ni d’un thème. Pratique pour ajuster l’apparence sans risque de régression lors des mises à jour.
Note L’icône d’accès à l’aide en ligne est située en haut à droite de chaque page
4.06 Traduction
Chemin : Administration > Configuration > Traduction (/admin/translation.php) Cette page permet de rechercher les chaînes de traduction chargées par Keatic ERP et de définir des remplacements personnalisés sans modifier les fichiers sources. Un interrupteur global en haut à droite active ou désactive la réécriture des traductions (constante MAIN_ENABLE_OVERWRITE_TRANSLATION). Lorsqu'il est désactivé, les surcharges enregistrées ne sont plus appliquées et le formulaire d'ajout est grisé.
Onglet 1 – Rechercher une traduction :
Cet onglet permet d'explorer toutes les chaînes de traduction actuellement chargées par Keatic ERP (fichiers .lang du cœur et des modules installés). Trois filtres sont disponibles : Langue, Clé de traduction (recherche partielle ou exacte, avec préfixe ^ ou suffixe $), et Chaîne de traduction. Le compteur en en-tête indique le nombre de résultats, le total de chaînes chargées et le nombre de fichiers .lang analysés. Pour chaque entrée du tableau, vous pouvez : - Cliquer sur l'icône crayon pour basculer vers l'onglet Remplacer avec la clé pré-remplie - Cliquer sur l'icône corbeille pour supprimer une surcharge existante - Au survol de la valeur traduite : voir la valeur en_US de référence
Onglet 2 – Remplacer une chaîne de traduction :
Cet onglet permet de créer, modifier ou supprimer des surcharges de traduction stockées en base de données (table llx_overwrite_trans). Ces surcharges prennent priorité sur les fichiers .lang.
Avertissement : Si le module Memcached est actif ou si la constante MAIN_USE_CACHE_FOR_TRANSLATION est activée, un avertissement s'affiche : les modifications peuvent ne pas être visibles immédiatement. Un rechargement manuel du cache peut être nécessaire.
Priorité de résolution des traductions
La priorité de résolution dans Keatic ERP est la suivante :
Priorité | Source |
|---|---|
1 (maximale) | Surcharges en base (llx_overwrite_trans) |
2 | Fichiers .lang du module custom (htdocs/custom/monmodule/langs/fr_FR/) |
3 | Fichiers .lang du cœur Keatic ERP (htdocs/langs/fr_FR/) |
4 (fallback) | Langue en_US |
Astuce : Les surcharges créées ici sont spécifiques à l'entité Keatic ERP courante (compatible multicompany). Les modifications s'appliquent à tous les utilisateurs dès la prochaine page chargée.
4.07 Valeurs / Filtres / Tris par défaut
Chemin : Administration > Configuration > Valeurs/filtres/tris par défaut (/admin/defaultvalues.php) Cette page permet de définir des comportements par défaut pour les formulaires de création, les listes et les champs de saisie, sans modifier les fichiers sources. Un interrupteur global active ou désactive l'ensemble du mécanisme (constante MAIN_ENABLE_DEFAULT_VALUES). Lorsqu'il est désactivé, aucune règle n'est appliquée. La page est organisée en 5 onglets. Toutes les règles sont stockées en base de données et s'appliquent globalement à tous les utilisateurs de l'entité.
Note : Règle importante pour l'URL relative : pour les modules dans le répertoire custom/, n'incluez pas le préfixe custom/. Utilisez monmodule/mapage.php et non custom/monmodule/mapage.php. Vous pouvez aussi restreindre une règle à une URL avec paramètres spécifiques : societe/card.php?abc=val1&def=val2 — la règle ne s'applique alors que si tous ces paramètres sont présents.
Onglet 1 – Valeurs par défaut sur les formulaires de création :
Permet de pré-remplir automatiquement des champs dans les formulaires de création d'enregistrements. Condition d'activation : le remplacement ne fonctionne que pour les pages qui reçoivent le paramètre action=create ou action=presend dans leur URL.
Variables de substitution disponibles dans le champ Valeur :
Variable | Description |
|---|---|
__USER_ID__ | Identifiant de l'utilisateur connecté |
__USER_LOGIN__ | Login de l'utilisateur connecté |
__USER_LASTNAME__ | Nom de l'utilisateur connecté |
__USER_FIRSTNAME__ | Prénom de l'utilisateur connecté |
__DATE_TODAY__ | Date du jour |
__ENTITY_ID__ | Identifiant de l'entité courante |
Exemple pratique : pour pré-remplir automatiquement un extrafield liste déroulante d'utilisateurs nommé options_signature avec l'utilisateur connecté, saisissez la valeur __USER_ID__. Pour retrouver le nom du champ HTML, faites un clic droit sur l'élément dans le navigateur et choisissez Inspecter.
Figure 4.18 – Configuration d'une valeur par défaut avec constante de substitution
Onglet 2 – Filtres de recherche par défaut :
Permet de pré-remplir les champs de filtre dans les pages de liste, afin qu'une recherche prédéfinie soit active à l'ouverture de la liste. Cas d'usage type : afficher uniquement les tiers actifs à l'ouverture de la liste clients, sans que l'utilisateur ait à saisir le filtre manuellement. Renseignez societe/list.php comme URL et search_status comme champ. Les mêmes variables de substitution que l'onglet 1 sont disponibles pour les valeurs de filtre.
Onglet 3 – Ordre de tri par défaut :
Permet de définir le tri appliqué par défaut à l'ouverture d'une page de liste.
Avertissement : Le réglage d'un ordre de tri par défaut peut provoquer une erreur technique si le champ indiqué n'existe pas dans la liste. En cas d'erreur, revenez dans cet onglet pour supprimer la règle et restaurer le comportement natif. Pour les colonnes issues de jointures SQL, utilisez la syntaxe alias.champ (ex. s.nom, datec).
Onglet 4 – Champs par défaut ayant le focus :
Permet de définir quel champ reçoit automatiquement le focus (curseur actif) à l'ouverture d'une page. Cas d'usage type : placer le curseur automatiquement sur le champ « Nom » lors de la création d'un tiers. Cet onglet ne comporte pas de colonne Valeur : seul l'identifiant HTML du champ est nécessaire.
Onglet 5 – Champs de formulaire obligatoires :
Permet de rendre obligatoire un champ qui ne l'est pas nativement dans Keatic ERP. Keatic ERP bloque la soumission du formulaire si le champ est vide, de la même façon que pour les champs obligatoires natifs.
Note : Cette fonctionnalité est supportée uniquement sur les champs de type texte.
4.08 Widgets
Chemin : Administration > Configuration > Widgets (/admin/boxes.php) Les widgets sont des composants d'information que les utilisateurs peuvent afficher sur leurs pages pour les personnaliser. Seuls les widgets liés à un module actif sont présentés. La page affiche un tableau unique regroupant deux catégories : 1. Widgets disponibles — non encore activés, proposés en haut du tableau 2. Widgets activés — actifs par défaut pour tous les utilisateurs, avec leur position et leurs contrôles de gestion
Note : Les widgets activés définissent l'affichage par défaut pour tous les utilisateurs. Chaque utilisateur peut ensuite personnaliser sa propre vue depuis son tableau de bord — ces choix personnels ne sont pas affectés par les modifications du tableau de bord par défaut.
Pour activer un widget : repérez-le dans la partie haute du tableau, sélectionnez la page cible dans la liste déroulante, puis cliquez sur Activer. Les widgets signalés par une icône d'avertissement peuvent ralentir l'interface s'ils effectuent des requêtes lourdes. À activer avec précaution sur des bases volumineuses.
Liste des widgets disponibles dans Keatic ERP 24
# | Widget | Graphique |
|---|---|---|
1 | Informations de connexion | — |
2 | Commandes fournisseurs par mois | ✓ |
3 | Plus anciennes factures fournisseurs impayées | — |
4 | Dernières commandes fournisseur | — |
5 | Plus anciennes factures clients impayées | — |
6 | Factures clients par mois | ✓ |
7 | Balance des comptes ouverts | — |
8 | Produits en alerte de stock | — |
9 | Dernières interventions | — |
10 | Anniversaires de ce mois (utilisateurs) | — |
11 | Événements les plus anciens à faire | — |
12 | Derniers clients modifiés | — |
13 | Derniers contacts/adresses | — |
21 | Dernières factures clients | — |
22 | Clients dont l'en-cours de facturation est dépassé | — |
23 | Les derniers produits/services enregistrés | — |
24 | Répartition des produits/services | ✓ |
25 | Plus anciens services expirés | — |
26 | Statistiques sur les principaux objets métier | — |
27 | Les prochains événements à venir | — |
28 | Derniers prospects modifiés | — |
29 | Proposition par mois | ✓ |
30 | Dernières commandes clients | — |
31 | Dernières expéditions clients | — |
32 | Les derniers produits/services contractés | — |
Cache des fichiers widgets
En bas de page, une option permet d'activer la mise en cache du contenu des widgets dans des fichiers temporaires (constante MAIN_ACTIVATE_FILECACHE, durée : 900 secondes soit 15 minutes). Réduit la charge serveur pour les widgets affichant des données calculées.
4.09 Alertes
Chemin : Administration > Configuration > Alertes (/admin/delais.php) Cette page permet de définir les délais de tolérance au-delà desquels une icône d'alerte est affichée sur chaque élément en retard dans l'interface. Seuls les éléments liés à un module actif sont présentés. Valeur 0 : l'alerte s'affiche dès le premier jour de retard, sans délai de grâce.
Tableau des délais de tolérance
Élément | Constante | Défaut |
|---|---|---|
Événements planifiés (agenda) non terminés | MAIN_DELAY_ACTIONS_TODO | 7 j |
Projets à fermer | MAIN_DELAY_PROJECT_TO_CLOSE | — |
Tâches à faire | MAIN_DELAY_TASKS_TODO | — |
Proposition non fermée | MAIN_DELAY_PROPALS_TO_CLOSE | 31 j |
Proposition non facturée | MAIN_DELAY_PROPALS_TO_BILL | 7 j |
Commande non traitée | MAIN_DELAY_ORDERS_TO_PROCESS | 2 j |
Facture client impayée | MAIN_DELAY_CUSTOMER_BILLS_UNPAYED | 31 j |
Commande fournisseur non traitée | MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS | 7 j |
Facture fournisseur impayée | MAIN_DELAY_SUPPLIER_BILLS_TO_PAY | 2 j |
Fournisseur devis non fermé | MAIN_DELAY_SUPPLIER_PROPALS_TO_CLOSE | 0 j |
Fournisseur devis pas facturé | MAIN_DELAY_SUPPLIER_PROPALS_TO_BILL | 0 j |
Service à activer | MAIN_DELAY_NOT_ACTIVATED_SERVICES | 0 j |
Service expiré | MAIN_DELAY_RUNNING_SERVICES | 0 j |
Rapprochement bancaire en attente | MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE | 62 j |
Dépôt de chèque non effectué | MAIN_DELAY_CHEQUES_TO_DEPOSIT | 0 j |
Adhérents | MAIN_DELAY_MEMBERS | 0 j |
Notes de frais | MAIN_DELAY_EXPENSEREPORTS | — |
Congés | MAIN_DELAY_HOLIDAYS | — |
Fabrication (MRP) | MAIN_DELAY_MRP | — |
Vignette météo
La vignette météo est un indicateur visuel affiché sur le tableau de bord qui reflète l'état global de l'activité en fonction du nombre (ou du pourcentage) d'éléments en retard.
Option | Constante |
|---|---|
Désactiver la vignette (Non / Oui / Sur mobile uniquement) | MAIN_DISABLE_METEO |
Deux modes de calcul sont disponibles :
Mode | Constante |
|---|---|
Standard (nombre absolu d'éléments en retard) | MAIN_USE_METEO_WITH_PERCENTAGE = 0 |
Pourcentage d'éléments en retard | MAIN_USE_METEO_WITH_PERCENTAGE = 1 |
Seuils en mode standard :
Icône | Condition | Constante | Défaut |
|---|---|---|---|
☀️ Soleil | Nombre en retard ≤ seuil 0 | MAIN_METEO_LEVEL0 | 0 |
🌤️ Soleil voilé | Nombre en retard ≤ seuil 1 | MAIN_METEO_LEVEL1 | 10 |
☁️ Nuageux | Nombre en retard ≤ seuil 2 | MAIN_METEO_LEVEL2 | 20 |
🌧️ Pluie | Nombre en retard ≤ seuil 3 | MAIN_METEO_LEVEL3 | 30 |
⛈️ Orage | Nombre en retard > seuil 3 | — | — |
4.10 Sécurité
Chemin : Administration > Configuration > Sécurité Accès : Administrateurs uniquement Cette page regroupe l'ensemble des paramètres de sécurité de Keatic ERP, organisés en 8 onglets depuis la v24.
Important : Chaque onglet dispose de son propre bouton de sauvegarde (MODIFIER ou ENREGISTRER). Les modifications sont effectives immédiatement pour tous les utilisateurs.
Onglet 1 – Divers
Paramètre | Constante | Défaut |
|---|---|---|
Utiliser les autorisations avancées des modules | MAIN_USE_ADVANCED_PERMS | Off |
Délai expiration des sessions (secondes) | MAIN_SESSION_TIMEOUT | 1440 s |
Nombre max. d'images dans un champ HTML | MAIN_SECURITY_MAX_IMG_IN_HTML_CONTENT | 0 |
Nombre max. de publications par IP en un mois | MAIN_SECURITY_MAX_POST_ON_PUBLIC_PAGES_BY_IP_ADDRESS | 200 |
Nombre max. de fichiers joints dans un formulaire | MAIN_SECURITY_MAX_ATTACHMENT_ON_FORMS | 10 |
Nombre max. d'échecs d'authentification en 24h | MAIN_SECURITY_MAX_NUMBER_FAILED_AUTH | 100 |
- Comment configurer le délai d'expiration des sessions ?
Rendez-vous dans Administration > Configuration > Sécurité > Onglet 1 — Divers et renseignez le champ Délai expiration des sessions (constante MAIN_SESSION_TIMEOUT). La valeur par défaut est 1440 secondes (24 minutes). Si ce champ n'est pas surchargé, Keatic ERP suit la valeur session.gc_maxlifetime définie dans la configuration PHP de votre serveur. Cliquez sur MODIFIER pour appliquer immédiatement le nouveau délai à tous les utilisateurs.
- Comment configurer les autorisations avancées dans l'onglet Divers ?
Activez l'option Utiliser les autorisations avancées des modules (constante MAIN_USE_ADVANCED_PERMS) dans l'onglet Divers. Cela débloque un niveau de droits supplémentaire et plus granulaire : les permissions standard se limitent à « Lire », « Créer/Modifier », « Supprimer », tandis que les permissions avancées ajoutent des droits précis comme « Valider », « Envoyer par email », « Clôturer »… Une fois activée, rendez-vous dans Accueil > Utilisateurs & Groupes pour attribuer ces nouvelles permissions fines depuis l'onglet Permissions de chaque utilisateur ou groupe.
Onglet 2 – Captcha
Protège les formulaires publics de Keatic ERP contre les robots. Les options disponibles dépendent des modules actifs.
Formulaire protégé | Constante |
|---|---|
Page de connexion | MAIN_SECURITY_ENABLECAPTCHA |
Formulaire public de contact tiers | MAIN_SECURITY_ENABLECAPTCHA_THIRDPARTY |
Création de ticket public | MAIN_SECURITY_ENABLECAPTCHA_TICKET |
Adhésion publique | MAIN_SECURITY_ENABLECAPTCHA_MEMBER |
Formulaire de don public | MAIN_SECURITY_ENABLECAPTCHA_DONATION |
Formulaire de recrutement public | MAIN_SECURITY_ENABLECAPTCHA_RECRUITMENT |
Si au moins un CAPTCHA est activé, une seconde section permet de choisir le moteur de génération (handler). Le moteur disponible par défaut est Standard (image générée en interne — la bibliothèque PHP GD est requise). Constante du handler : MAIN_SECURITY_ENABLECAPTCHA_HANDLER.
Quelles sont les limites contre les attaques par force brute ?
Keatic ERP propose plusieurs mécanismes complémentaires :
- Limitation des échecs : après 100 échecs en 24h (constante MAIN_SECURITY_MAX_NUMBER_FAILED_AUTH, onglet Divers), la connexion est systématiquement refusée pour le compte concerné.
- CAPTCHA : activez-le sur la page de connexion pour bloquer les soumissions automatisées par des scripts malveillants.
- Complexité des mots de passe : forcez des règles dans l'onglet Mots de passe pour rendre les attaques par dictionnaire beaucoup plus longues.
- Délégation OIDC : en utilisant OpenID Connect, vous déléguez l'authentification à un fournisseur externe (Google, Keycloak…) qui dispose de ses propres systèmes de détection de force brute.
- Journal d'audit : l'onglet Événements de sécurité trace les échecs de connexion (USER_LOGIN_FAILED), permettant de surveiller et analyser les tentatives d'attaque.
Onglet 3 – Mots de passe
Règle de génération — un seul handler actif à la fois (interrupteur radio) :
Handler | Description | Longueur min. | Constante |
|---|---|---|---|
Perso | Règles personnalisables | Selon config | USER_PASSWORD_GENERATED = Perso |
Standard | 12 caractères, algorithme interne | 12 | USER_PASSWORD_GENERATED = Standard |
None | Aucune suggestion (saisie libre) | 0 | USER_PASSWORD_GENERATED = None |
Configuration du handler Perso (constante USER_PASSWORD_PATTERN, format : longueur;majMin;numMin;speMin;consec) :
Champ | Description |
|---|---|
Longueur minimale | Nombre minimum de caractères (min 1) |
Nb min. majuscules/minuscules | Nombre de changements de casse requis |
Nb min. chiffres | Nombre de chiffres requis |
Nb min. caractères spéciaux | Nombre de symboles requis |
Nb max. caractères consécutifs identiques | Limite les répétitions (ex. « aaa ») |
Pas de caractères ambigus | Exclut les caractères difficiles à distinguer (0/O, 1/l…) |
Paramètres de chiffrement :
Paramètre | Description |
|---|---|
Chiffrer les mots de passe en base | Hash MD5/bcrypt — irréversible une fois activé |
Masquer le mot de passe BDD dans conf.php | Chiffre keatic_main_db_pass dans le fichier de configuration |
Cacher le lien « Mot de passe oublié » | Masque le lien de réinitialisation sur la page de connexion (MAIN_SECURITY_DISABLEFORGETPASSLINK) |
Comment définir des règles de complexité pour les mots de passe ?
- Rendez-vous dans Administration > Configuration > Sécurité > Onglet 3 — Mots de passe.
- Activez le handler Perso pour définir vos propres critères via la constante USER_PASSWORD_PATTERN.
- Renseignez : longueur minimale, nb min. de majuscules, de chiffres, de caractères spéciaux, nombre max. de caractères consécutifs identiques, et si vous souhaitez exclure les caractères ambigus (0/O, 1/l…).
- Il est fortement recommandé d'activer aussi Chiffrer les mots de passe en base (hash bcrypt)
Attention, cette action est irréversible.
- Cliquez sur le bouton de sauvegarde pour que ces nouvelles règles s'appliquent immédiatement à tous les utilisateurs.
Comment activer le chiffrement de la base de données dans conf.php ?
- Rendez-vous dans Administration > Configuration > Sécurité > Onglet 3 — Mots de passe.
- Localisez la ligne Masquer le mot de passe BDD dans conf.php et cliquez sur Activer.
- Keatic ERP transforme la variable $keatic_main_db_pass de votre fichier htdocs/conf/conf.php en une version chiffrée. Note importante : avant d'effectuer cette opération, assurez-vous que votre fichier conf.php est temporairement accessible en écriture par le serveur web. Une fois l'activation terminée, remettez le fichier en lecture seule.
Onglet 4 – Fichiers
Paramètre | Constante | Défaut |
|---|---|---|
Taille maximale des fichiers téléchargés (Ko) | MAIN_SECURITY_MAXFILESIZE_DOWNLOADED | — |
Taille maximale des fichiers envoyés (Ko) | MAIN_UPLOAD_DOC | 2048 Ko |
Masque des nouveaux fichiers (Unix/Linux) | MAIN_UMASK | 0660 |
Extensions interdites au téléversement | MAIN_FILE_EXTENSION_UPLOAD_RESTRICTION | htm,html,php,js,py,cgi… |
Utiliser l'antivirus sur les fichiers téléversés | MAIN_ANTIVIRUS_UPLOAD_ON | Off |
Astuce : La taille maximale des fichiers envoyés ne peut pas dépasser la limite définie dans votre php.ini (paramètre upload_max_filesize).
Quelles sont les extensions de fichiers interdites au téléversement ?
Par défaut, les extensions suivantes sont refusées pour empêcher l'envoi de scripts malveillants :
- Web et Scripts : htm, html, js
- Programmation et Exécutables : php, py (Python), cgi
- Extensions supplémentaires (selon les versions récentes) : shtml, phar, php3, php4, php5. La liste est stockée dans la constante MAIN_FILE_EXTENSION_UPLOAD_RESTRICTION. L'administrateur peut la personnaliser en ajoutant ou supprimant des extensions, séparées par des virgules.
Comment fonctionne l'antivirus pour les fichiers téléversés ?
Lorsqu'un utilisateur ajoute un document, Keatic ERP intercepte le fichier avant son enregistrement définitif et l'envoie pour analyse au logiciel de sécurité configuré. Si le moteur antivirus détecte une menace, le téléversement est immédiatement refusé. Configuration (onglet 4 — Fichiers) :
- Activation : basculez MAIN_ANTIVIRUS_UPLOAD_ON sur ON.
- Commande antivirus : indiquez le chemin complet vers l'exécutable (ex. /usr/bin/clamscan pour ClamAV sous Linux, ClamWin sous Windows).
- Paramètres antivirus : saisissez les arguments nécessaires (ex. --no-summary -r).
- Test : un formulaire de test d'envoi de fichier est disponible en bas de la page pour vérifier la configuration en conditions réelles. Keatic ERP ne fournit pas son propre moteur de détection — il pilote l'appel à l'outil système lors de chaque téléversement.
Onglet 5 – Accès externes (Proxy)
Si le serveur Keatic ERP doit passer par un proxy pour accéder à Internet (mises à jour, cours des devises, météo…), configurez ici les paramètres de connexion.
Paramètre | Constante | Défaut |
|---|---|---|
Timeout de connexion (secondes) | MAIN_USE_CONNECT_TIMEOUT | 10 |
Délai expiration de réponse (secondes) | MAIN_USE_RESPONSE_TIMEOUT | 30 |
Utiliser un serveur proxy | MAIN_PROXY_USE | Non |
Nom/Adresse du proxy | MAIN_PROXY_HOST | — |
Port du proxy | MAIN_PROXY_PORT | 0 |
Identifiant proxy | MAIN_PROXY_USER | — |
Mot de passe proxy | MAIN_PROXY_PASS | — |
Onglet 6 – Événements de sécurité
Active l'enregistrement d'un journal d'audit pour les événements de sécurité sensibles. Chaque événement s'active individuellement.
Avertissement : Cette fonctionnalité peut générer un volume important de données en base selon le nombre d'événements activés et l'activité de votre instance.
Événement | Description | Constante |
|---|---|---|
USER_LOGIN | Connexion réussie | MAIN_LOGEVENTS_USER_LOGIN |
USER_LOGIN_FAILED | Échec de connexion | MAIN_LOGEVENTS_USER_LOGIN_FAILED |
USER_LOGOUT | Déconnexion | MAIN_LOGEVENTS_USER_LOGOUT |
USER_CREATE | Création d'un utilisateur | MAIN_LOGEVENTS_USER_CREATE |
USER_MODIFY | Modification d'un utilisateur | MAIN_LOGEVENTS_USER_MODIFY |
USER_NEW_PASSWORD | Nouveau mot de passe généré | MAIN_LOGEVENTS_USER_NEW_PASSWORD |
USER_ENABLEDISABLE | Activation/désactivation d'un compte | MAIN_LOGEVENTS_USER_ENABLEDISABLE |
USER_DELETE | Suppression d'un utilisateur | MAIN_LOGEVENTS_USER_DELETE |
USERGROUP_CREATE | Création d'un groupe | MAIN_LOGEVENTS_USERGROUP_CREATE |
USERGROUP_MODIFY | Modification d'un groupe | MAIN_LOGEVENTS_USERGROUP_MODIFY |
USERGROUP_DELETE | Suppression d'un groupe | MAIN_LOGEVENTS_USERGROUP_DELETE |
Où consulter le journal d'audit des événements de sécurité ?
Le journal d'audit est consultable dans Accueil > Outils d'administration > Événements de sécurité. L'activation de l'enregistrement se fait dans Administration > Configuration > Sécurité > Onglet 6 — Événements de sécurité (/admin/events.php). Dans les versions récentes (v23 et v24), le journal consigne également l'installation (ou la tentative d'installation) d'un module. Note : si vous utilisez le module Archives/Logs Inaltérables (conformité Loi Finance), les événements liés aux factures et paiements sont gérés dans un journal spécifique et distinct, accessible via le menu dédié à ce module.
Onglet 7 – Paramètres d'authentification OpenID Connect
Permet à Keatic ERP de déléguer l'authentification à un fournisseur d'identité OpenID Connect pour mettre en place du SSO (Single Sign-On). Lorsque l'option est activée (toggle ON/OFF), des champs de configuration supplémentaires apparaissent pour saisir les paramètres du fournisseur (URL, client ID, secret, etc.). Exemples de fournisseurs compatibles : Keycloak, Google, Microsoft Entra ID.
Note : L'intégration native OpenID Connect est une nouveauté v24, remplaçant les anciens modules externes. Elle permet une authentification déléguée sans installation de module tiers.
Onglet 8 – En-têtes de sécurité HTTP
Réservé aux utilisateurs avancés. Un en-tête mal configuré peut rendre Keatic ERP inaccessible ou bloquer des ressources légitimes.
En-tête HTTP | Description | Constante |
|---|---|---|
Referer-Policy | Contrôle les informations de référencement transmises lors des navigations | MAIN_SECURITY_FORCERP |
Strict-Transport-Security (HSTS) | Force l'utilisation de HTTPS | MAIN_SECURITY_FORCESTS |
Permissions-Policy | Contrôle l'accès aux API navigateur (caméra, micro…) | MAIN_SECURITY_FORCEPP |
Content-Security-Policy (CSP) | Déclare les sources autorisées pour scripts, styles, images… | MAIN_SECURITY_FORCECSP |
Astuce : Le bouton + sur le champ CSP ouvre un assistant visuel pour ajouter des directives et sources sans saisie manuelle. Keatic ERP injecte automatiquement script-src 'self' 'unsafe-inline' et style-src 'self' 'unsafe-inline' pour ne pas bloquer son propre fonctionnement.
Permissions par défaut
Sous l'onglet Permissions par défaut, vous définissez les droits automatiquement attribués à chaque nouvel utilisateur créé. Cliquez sur + pour accorder une permission par défaut, et sur − pour la retirer.
Avertissement : Ces réglages ne s'appliquent qu'aux nouveaux utilisateurs. Pour modifier les permissions d'un utilisateur ou groupe existant, allez sur sa fiche dans Accueil > Utilisateurs & Groupes.
Comment gérer les permissions par défaut des nouveaux utilisateurs ?
Rendez-vous dans Accueil > Configuration > Sécurité > Permissions par défaut. L'interface présente tous les modules activés avec leurs actions possibles.
- Cliquez sur + pour qu'une permission soit donnée par défaut à tous les futurs utilisateurs.
- Cliquez sur - pour supprimer cette permission de la configuration par défaut. Points importants : - Ces réglages n'ont aucun effet sur les utilisateurs déjà existants. - Configurez cette section après avoir activé tous les modules souhaités — la liste des droits disponibles dépend des modules actifs. - Si vous avez activé les autorisations avancées (onglet Divers), des permissions plus fines (valider, envoyer par mail…) apparaissent également dans cette liste.
4.11 Sauvegarde
Anticipez les problèmes (plantage serveur, mise à jour échouée) en utilisant les outils de sauvegarde intégrés.
Chemin : Configuration > Outils d’administration > Sauvegarde
Gardez les réglages par défaut et cliquez sur Générer Sauvegarde.
Figure 4.19 – Outil de sauvegarde de la base de données
Avertissement : Pensez à récupérer le fichier et à le placer ailleurs que sur le serveur, sinon la sauvegarde n’aura servi à rien !
La sauvegarde complète inclut :
- La base de données (via l’outil de sauvegarde)
- Le dossier documents/ — contient vos logos et tous les documents générés ou uploadés
- Le fichier conf/conf.php — fait le lien avec votre base de données ; sans lui, vous repartez de zéro
- Le dossier custom/ — contient vos modules externes
Accès HTTPS local (pour les Logs Inaltérables)
Pour utiliser les Archives/Logs Inaltérables, Keatic ERP doit être accessible via HTTPS. Voici les étapes pour configurer HTTPS en local avec XAMPP et mkcert.
Figure 4.20 – Commandes mkcert pour générer un certificat local
- Déclarer le domaine local. Éditez C:\Windows\System32\drivers\etc\hosts et ajoutez :
127.0.0.1 keatic ERP-230.local - Installer mkcert. Téléchargez mkcert.exe depuis les releases officielles GitHub et placez-le dans C:\tools\mkcert\.
- Installer l'autorité locale (CA)
cd C:\tools\mkcert .\mkcert.exe -install - Générer le certificat SSL
Fichiers générés : keatic ERP-230.local.pem et keatic ERP-230.local-key.pemmkdir C:\xampp\apache\conf\ssl-keatic ERP cd C:\xampp\apache\conf\ssl-keatic ERP C:\tools\mkcert\mkcert.exe keatic ERP-230.local - Activer SSL dans Apache. Dans C:\xampp\apache\conf\httpd.conf, vérifiez que ces lignes sont actives :
LoadModule ssl_module modules/mod_ssl.so LoadModule socache_shmcb_module modules/mod_socache_shmcb.so Include conf/extra/httpd-ssl.conf Include conf/extra/httpd-vhosts.conf - Ajouter le VirtualHost HTTPS. Dans C:\xampp\apache\conf\extra\httpd-vhosts.conf :
<VirtualHost *:443> ServerName keatic ERP-230.local DocumentRoot "C:/xampp/htdocs/keatic ERP-230/htdocs" <Directory "C:/xampp/htdocs/keatic ERP-230/htdocs"> AllowOverride All Require all granted </Directory> SSLEngine on SSLCertificateFile "C:/xampp/apache/conf/ssl-keatic ERP/keatic ERP-230.local.pem" SSLCertificateKeyFile "C:/xampp/apache/conf/ssl-keatic ERP/keatic ERP-230.local-key.pem" </VirtualHost> <VirtualHost *:80> ServerName keatic ERP-230.local Redirect permanent / https://keatic ERP-230.local/ </VirtualHost> - Redémarrer Apache. Depuis le panneau de contrôle XAMPP : Stop Apache puis Start Apache.
- Vérifier HTTPS côté PHP. Créez tests_https.php dans votre DocumentRoot :
Ouvrez https://keatic ERP-230.local/tests_https.php — résultat attendu : HTTPS=on.<?php echo "HTTPS=" . ($_SERVER['HTTPS'] ?? 'n/a') . "\n"; echo "PORT=" . ($_SERVER['SERVER_PORT'] ?? 'n/a') . "\n"; echo "HOST=" . ($_SERVER['HTTP_HOST'] ?? 'n/a') . "\n"; - Forcer Keatic ERP en HTTPS. Dans htdocs/conf/conf.php :
$keatic_main_url_root = 'https://keatic ERP-230.local';
$keatic_main_force_https = '1';
Logs Inaltérables
Active la journalisation de certains événements métiers dans une archive inaltérable (table d’événements chaînés, lisible et exportable). Ce module est requis pour être conforme aux exigences légales de certains pays (Loi de Finance 2016 / Norme 525 en France).
Figure 4.21 – Configuration des Logs Inaltérables
Avertissement : Obligation légale en France : vous devez générer des archives de journaux inaltérables au moins une fois par an (recommandation mensuelle), et les conserver pendant au moins 7 ans sur au moins 2 supports physiques différents.
Quels sont les bénéfices du module de logs inaltérables ?
Le module BlockedLog apporte plusieurs bénéfices essentiels :
- Conformité légale : assure la compatibilité avec la Loi Finance 2016 (norme NF525/LNE) concernant l’inaltérabilité, la sécurisation, la conservation et l’archivage des données. Son activation est un prérequis pour obtenir une attestation de conformité.
- Intégrité absolue (technologie blockchain) : les données sont enregistrées sous forme d’une table d’événements chaînés avec signature numérique. Il est impossible de modifier ou supprimer une entrée sans corrompre toute la chaîne.
- Traçage des opérations critiques : création des factures, enregistrement des paiements (y compris partiels), impression/téléchargement et envoi par email des documents de facturation.
- Archivage sécurisé : export du journal dans des fichiers protégés par mot de passe, conservation obligatoire pendant 7 ans. Important : l’activation de ce module est irréversible dès lors que les premières saisies sont effectuées.
4.12 Limites et précision
Chemin : Administration > Configuration > Limites et précision (/admin/limits.php) Cette page permet de définir le nombre de décimales utilisé par Keatic ERP lors des calculs et de l'affichage des prix, ainsi que la règle d'arrondi appliquée aux totaux. Une section d'exemples live permet de vérifier immédiatement l'impact de chaque réglage avant de valider.
Paramètre | Constante | Défaut | Description |
|---|---|---|---|
Décimales prix unitaires | MAIN_MAX_DECIMALS_UNIT | 5 | Précision des prix unitaires (max 8) |
Décimales prix totaux | MAIN_MAX_DECIMALS_TOT | 2 | Précision des prix totaux HT/TVA/TTC (max 8) |
Décimales affichées à l'écran | MAIN_MAX_DECIMALS_SHOWN | 8 | Décimales visibles par l'utilisateur |
Pas d'arrondi | MAIN_ROUNDING_RULE_TOT | vide | Pour les pays sans monnaie décimale en base 10 |
Note : La constante MAIN_MAX_DECIMALS_SHOWN accepte une valeur étendue sous la forme x... (ex. 2...). Dans ce cas, Keatic ERP affiche les x premières décimales puis remplace les suivantes par des points de suspension, indiquant que la valeur est tronquée pour l'affichage sans perte de précision interne.
Contraintes de validation : - Aucune valeur ne peut être négative ni dépasser 8 - MAIN_MAX_DECIMALS_SHOWN ne peut pas être 0 - MAIN_MAX_DECIMALS_SHOWN doit être supérieur ou égal à MAIN_MAX_DECIMALS_UNIT et MAIN_MAX_DECIMALS_TOT
Astuce : Pour la France, les valeurs standard recommandées sont :
Constante | Valeur recommandée |
|---|---|
MAIN_MAX_DECIMALS_UNIT | 5 |
MAIN_MAX_DECIMALS_TOT | 2 |
MAIN_MAX_DECIMALS_SHOWN | 8 (ou 2...) |
MAIN_ROUNDING_RULE_TOT | vide |
Avertissement : Un mauvais réglage de ces paramètres peut provoquer des écarts d'arrondi sur les totaux de factures (ex. : total TTC ≠ HT + TVA). Vérifiez toujours les exemples affichés en bas de page après toute modification.
Support multidevise : lorsque le module Multi-devise est activé avec MULTICURRENCY_USE_LIMIT_BY_CURRENCY, la page affiche un onglet par devise configurée. Les quatre constantes prennent alors un suffixe avec le code ISO de la devise (ex. MAIN_MAX_DECIMALS_UNIT_EUR, MAIN_MAX_DECIMALS_TOT_USD…).
4.13 PDF
Chemin : Administration > Configuration > PDF (/admin/pdf.php)
Cette page regroupe tous les paramètres globaux de génération des documents PDF dans Keatic ERP. Elle est divisée en deux onglets.
Onglet | URL | Description |
|---|---|---|
Paramètres globaux | /admin/pdf.php | Options communes à tous les PDF générés |
Paramètres spécifiques | /admin/pdf_other.php | Options propres à chaque module |
Onglet 1 – Paramètres globaux
Format papier et marges :
Paramètre | Constante | Défaut |
|---|---|---|
Format papier | MAIN_PDF_FORMAT | A4 (210×297 mm) |
Marge gauche (mm) | MAIN_PDF_MARGIN_LEFT | 10 |
Marge droite (mm) | MAIN_PDF_MARGIN_RIGHT | 10 |
Marge haute (mm) | MAIN_PDF_MARGIN_TOP | 10 |
Marge basse (mm) | MAIN_PDF_MARGIN_BOTTOM | 10 |
Règles pour les sections Adresse :
Paramètre | Constante | Défaut |
|---|---|---|
Masquer le numéro de TVA intracommunautaire | MAIN_TVAINTRA_NOT_IN_ADDRESS | Off |
Afficher Id. prof. 1 (SIREN) | MAIN_PROFID1_IN_ADDRESS | Off |
Afficher Id. prof. 2 (SIRET) | MAIN_PROFID2_IN_ADDRESS | Off |
Afficher Id. prof. 3 (NAF/APE) | MAIN_PROFID3_IN_ADDRESS | Off |
Afficher Id. prof. 4 (RCS/RM) | MAIN_PROFID4_IN_ADDRESS | Off |
Afficher Id. prof. 5 (numéro EORI) | MAIN_PROFID5_IN_ADDRESS | Off |
Afficher Id. prof. 6 (numéro RNA) | MAIN_PROFID6_IN_ADDRESS | Off |
Afficher la forme juridique | MAIN_LEGALFORM_IN_ADDRESS | Off |
Masquer les bordures du cadre expéditeur | MAIN_PDF_NO_SENDER_FRAME | Off |
Masquer les bordures du cadre destinataire | MAIN_PDF_NO_RECIPIENT_FRAME | Off |
Inverser expéditeur et destinataire | MAIN_INVERT_SENDER_RECIPIENT | Off |
Position standard française (La Poste) | MAIN_PDF_USE_ISO_LOCATION | Off |
Règles TVA :
Paramètre | Constante | Défaut |
|---|---|---|
Masquer toutes les informations TVA | MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT | Off |
Masquer la taxe locale 1 (LT1) | MAIN_PDF_MAIN_HIDE_SECOND_TAX | Off |
Masquer la taxe locale 2 (LT2) | MAIN_PDF_MAIN_HIDE_THIRD_TAX | Off |
Autres options globales :
Paramètre | Constante | Défaut |
|---|---|---|
Afficher les libellés en 2 langues | PDF_USE_ALSO_LANGUAGE_CODE | vide |
Hauteur du logo (mm) | MAIN_DOCUMENTS_LOGO_HEIGHT | 20 |
Cadres aux coins arrondis (0, 1, 2 ou 3) | MAIN_PDF_FRAME_CORNER_RADIUS | 0 |
Cacher le code client | MAIN_PDF_HIDE_CUSTOMER_CODE | Off |
Cacher la référence des produits | MAIN_GENERATE_DOCUMENTS_HIDE_REF | Off |
Cacher la description des produits | MAIN_GENERATE_DOCUMENTS_HIDE_DESC | Off |
Cacher les détails des prix sur lignes | MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS | Off |
Informations dans le pied de page (0/1/2/3) | MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS | 0 |
Format des documents PDF (1.7 / PDF/A-1b / PDF/A-3b) | PDF_USE_A | 0 |
Note : Le format PDF/A-3b permet d'embarquer des pièces jointes XML (ex. : Factur-X pour la facturation électronique). La fonctionnalité de concaténation PDF (CGV en fin de document) nécessite la bibliothèque FPDI ou TCPDI.
Onglet 2 – Paramètres spécifiques
Chaque section n'apparaît que si le module correspondant est activé. Les principaux paramètres disponibles par type de document :
Factures — options notables :
Paramètre | Constante |
|---|---|
Afficher la colonne Prix TTC | PDF_INVOICE_SHOW_PRICE_INCL_TAX |
Afficher le code QR ZATCA (Arabie Saoudite) | INVOICE_ADD_ZATCA_QR_CODE |
Afficher le code QR EPC (virement SEPA instantané) | INVOICE_ADD_EPC_QR_CODE |
Afficher le QR-Bill suisse | INVOICE_ADD_SWISS_QR_CODE |
Mention « catégorie d'opérations » (décret français 2022) | INVOICE_CATEGORY_OF_OPERATION |
Avertissement : Les QR codes ZATCA et Swiss QR sont mutuellement exclusifs : activer l'un désactive automatiquement l'autre.
Chaque type de document (propositions, commandes clients, contrats, factures, commandes fournisseur, expéditions, réceptions) dispose de ses propres options : affichage du prix TTC, image des produits sur les lignes, adresse de livraison, et concaténation d'un PDF CGV en fin de document.
4.14 Emails
Chemin : Administration > Configuration > Emails (/admin/mails.php)
Cette page centralise la configuration de l'envoi et de la réception des emails dans Keatic ERP. Elle est divisée en cinq onglets.
Onglet | URL | Description |
|---|---|---|
E-mails sortants | /admin/mails.php | Configuration principale du transport email |
Emails sortants (Réinitialisation mdp) | /admin/mails_passwordreset.php | Transport dédié aux emails de réinitialisation |
Expéditeur des e-mails | /admin/mails_senderprofile_list.php | Liste des profils expéditeurs réutilisables |
Modèles des courriels | /admin/mails_templates.php | Bibliothèque de modèles d'emails |
E-mails entrants | /admin/mails_ingoing.php | Configuration de la réception (collecteur) |
Onglet 1 – E-mails sortants
Interrupteur global : MAIN_DISABLE_ALL_MAILS — bloque tous les envois d'emails. Utile pour les environnements de test.
Méthodes d'envoi disponibles :
Méthode | Description |
|---|---|
PHP mail function | Fonction native PHP — non recommandée en production |
SMTP/SMTPS socket library | Connexion SMTP directe |
Swift Mailer socket library | Bibliothèque Swift Mailer avec support DKIM |
Avertissement : La méthode PHP mail function est déconseillée en production car elle dépend de la configuration locale du serveur, peut être bloquée par les filtres antispam et ne supporte pas l'authentification SMTP. Keatic ERP affiche un avertissement si cette méthode est sélectionnée.
Paramètres de transport SMTP :
Paramètre | Constante | Défaut |
|---|---|---|
Méthode d'envoi | MAIN_MAIL_SENDMODE | |
Serveur SMTP | MAIN_MAIL_SMTP_SERVER | (valeur php.ini) |
Port SMTP | MAIN_MAIL_SMTP_PORT | 25 |
Type d'authentification (NONE/LOGIN/PLAIN/XOAUTH2) | MAIN_MAIL_SMTPS_AUTH_TYPE | LOGIN |
Identifiant SMTP | MAIN_MAIL_SMTPS_ID | vide |
Mot de passe SMTP | MAIN_MAIL_SMTPS_PW | vide |
Service OAuth (si XOAUTH2) | MAIN_MAIL_SMTPS_OAUTH_SERVICE | vide |
Chiffrement TLS (port 465) | MAIN_MAIL_EMAIL_TLS | Off |
Chiffrement STARTTLS (port 587) | MAIN_MAIL_EMAIL_STARTTLS | Off |
Autoriser les certificats autosignés | MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED | Off |
Note : TLS et STARTTLS sont mutuellement exclusifs : activer l'un désactive l'autre automatiquement. DKIM n'est disponible qu'avec la méthode Swift Mailer.
Options DKIM (uniquement avec Swift Mailer) :
Paramètre | Constante |
|---|---|
Activer DKIM | MAIN_MAIL_EMAIL_DKIM_ENABLED |
Domaine DKIM | MAIN_MAIL_EMAIL_DKIM_DOMAIN |
Sélecteur DKIM | MAIN_MAIL_EMAIL_DKIM_SELECTOR |
Clé privée DKIM (format PEM) | MAIN_MAIL_EMAIL_DKIM_PRIVATE_KEY |
Autres options :
Paramètre | Constante | Défaut |
|---|---|---|
Rediriger tous les emails vers une adresse test | MAIN_MAIL_FORCE_SENDTO | vide |
E-mail de l'expéditeur automatique | MAIN_MAIL_EMAIL_FROM | robot@domain.com |
Expéditeur par défaut (user / company / profil) | MAIN_MAIL_DEFAULT_FROMTYPE | user |
E-mail pour les retours d'erreur (bounces) | MAIN_MAIL_ERRORS_TO | vide |
Copie cachée systématique (Bcc) | MAIN_MAIL_AUTOCOPY_TO | vide |
Astuce : Le bouton TESTER DISPONIBILITÉ SERVEUR teste si le serveur SMTP est joignable (connexion TCP sur le port configuré). Les boutons TESTER ENVOI et TESTER ENVOI HTML permettent d'envoyer un email de test. Un lien en bas de page permet de vérifier les enregistrements DNS SPF et DMARC des domaines utilisés.
Onglet 2 – Emails de réinitialisation du mot de passe
Permet de définir une configuration SMTP distincte utilisée exclusivement pour les emails de réinitialisation de mot de passe. Pratique pour utiliser un serveur transactionnel à haute délivrabilité pour ces emails critiques. Lorsque la méthode est default, Keatic ERP utilise la configuration de l'onglet principal. Les constantes sont identiques à l'onglet 1 avec le suffixe _PASSWORDRESET (ex. MAIN_MAIL_SENDMODE_PASSWORDRESET, MAIN_MAIL_SMTP_SERVER_PASSWORDRESET…).
Onglet 3 – Expéditeur des e-mails
Gère la liste des profils expéditeurs de la table llx_c_email_senderprofile. Chaque profil est une identité d'envoi réutilisable qui apparaît dans la liste déroulante de l'expéditeur lors de la composition d'un email.
Colonne | Description |
|---|---|
Libellé | Nom du profil (ex. « Service commercial », « Support ») |
Adresse email de l'expéditeur | |
Utilisateur | Si renseigné, le profil est privé et réservé à cet utilisateur |
Position | Ordre d'affichage dans la liste déroulante |
État | Actif / Inactif |
Chaque profil peut inclure une signature HTML qui sera utilisée à la place de la signature personnelle de l'utilisateur lors de l'envoi avec ce profil.
Onglet 4 – Modèles des courriels
Liste les modèles d'emails définis dans Keatic ERP, utilisés pour pré-remplir le sujet et le corps des emails envoyés depuis les différents modules. Les modèles peuvent utiliser des variables de substitution du type __MAIN_INFO_SOCIETE_NOM__, __REF__, __LASTNAME__… qui sont remplacées dynamiquement au moment de l'envoi.
Colonne | Description |
|---|---|
Libellé | Nom du modèle |
Langue | Langue du modèle (vide = toutes langues) |
Type de modèle | Type de document associé (Factures, Propositions…) |
Propriétaire | Utilisateur propriétaire si modèle privé |
Joindre le fichier | Indique si le PDF lié doit être joint automatiquement |
Défaut | Si activé, ce modèle est présélectionné par défaut |
Onglet 5 – E-mails entrants
La réception des emails est gérée par le module Collecteur de courrier électronique. Activez et configurez ce module si vous avez besoin de prendre en charge les messages entrants. Le module Collecteur permet de connecter Keatic ERP à une boîte IMAP/POP3 et de traiter automatiquement les emails entrants : création de tickets, liaison aux objets existants (commandes, factures…).
Authentification SPF et DKIM :
Pour éviter que les emails envoyés par Keatic ERP soient classés en spam, configurez les protocoles d'authentification. SPF (Sender Policy Framework) Ajoutez un enregistrement TXT dans votre zone DNS. Exemple pour Google Workspace :
v=spf1 include:_spf.google.com ~all |
DKIM (DomainKeys Identified Mail)
- Activez la signature DKIM depuis votre service de messagerie (Google Workspace, Microsoft 365…)
- Récupérez l'enregistrement DNS fourni (type TXT, avec sélecteur et clé publique)
- Ajoutez-le dans la zone DNS de votre domaine
La valeur ressemble à :
v=DKIM1; k=rsa; p=MIGfM... |
4.15 Dictionnaires
Définissez ici les données de référence. Vous pouvez compléter ou modifier les données prédéfinies. Seuls les éléments en rapport avec un module actif sont présentés. Cette page permet d'éditer les listes de valeurs des objets Keatic ERP :
Catégorie | Exemples |
|---|---|
Géographie | Monnaies, Pays, Régions, Départements/Provinces |
Tiers | Formes juridiques, Types de tiers, Effectifs, Niveaux de prospection, Statuts de prospection, Titres de civilité, Types de contacts |
Agenda | Types d'événements |
Projets | Statuts d'opportunités |
Comptabilité | Types de charges sociales/fiscales |
Commercial | Conditions de règlement, Modes de paiement, Origines des propales, Méthodes de commandes |
Logistique | Méthodes d'expédition, Délais de livraison, Incoterms, Formats papier, Unités |
Fiscal | Taux de TVA (et taxes de ventes US) |
Divers | Types de déplacement, Types de ressource, Montants des timbres fiscaux |
Note : Les entrées UltimatepdfLine et UltimatepdfTitle sont ajoutées par le module externe Ultimatepdf pour créer des lignes de texte spécifiques ou renommer des documents (ex. « Commande » → « Facture Proforma »).
4.16 Utilisateurs
La dernière étape consiste à créer les utilisateurs et à leur attribuer des permissions. Presque tous les modules, même activés, ne sont accessibles que si les permissions correspondantes ont été accordées. Rendez-vous dans Accueil > Utilisateurs & Groupes.
Important : Configurez les utilisateurs et leurs droits après avoir activé tous les modules souhaités — la liste des droits disponibles dépend des modules activés.
Pour donner des droits à un utilisateur, allez sur sa fiche et cliquez sur l’onglet Permission.
Pour éviter de reconfigurer chaque nouvel utilisateur manuellement, définissez des permissions par défaut (dans Configuration > Sécurité). Ces permissions sont automatiquement attribuées aux nouveaux utilisateurs créés ; elles n’affectent pas les utilisateurs existants.
Avertissement : Les permissions qui apparaissent comme « héritées » sur la fiche d’un utilisateur proviennent d’un groupe auquel il appartient.
4.17 Options cachées (constantes avancées)
Quelques options non visibles dans l'interface standard sont disponibles via des constantes à définir dans Accueil > Configuration > Divers. Dans la plupart des cas, leur utilisation n'est pas nécessaire et peut rendre l'application instable.
Constante | Description |
|---|---|
ADD_UNSPLASH_LOGIN_BACKGROUND | Image d'arrière-plan aléatoire (Unsplash) sur la page de connexion |
MAIN_FILESYSTEM_ENCODING | Forcer l'encodage du système de fichiers (utf-8 sur certains Windows) |
MAIN_SHOW_TECHNICAL_ID | Afficher les identifiants techniques sur les fiches |
MAIN_COUNTRIES_IN_EEC | Liste des pays dans la zone européenne (TVA) |
MAIN_MAXTABS_IN_CARD | Nombre maximum d'onglets visibles (les autres en liste déroulante) |
MAIN_ONLY_LOGIN_ALLOWED | Restreindre l'accès à un seul login (mode maintenance) |
MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES | Horodatage automatique dans les notes publiques |
MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES | Horodatage automatique dans les notes privées |
MAIN_SECURITY_CSRF_WITH_TOKEN | Protection anti-CSRF renforcée par token (>= v5.0) |
MAIN_DOC_UPLOAD_NOT_RENAME_BY_DEFAULT | Désactiver le renommage automatique des fichiers uploadés |
MAIN_LANGUAGES_ALLOWED | Restreindre les langues proposées (ex. fr_FR,en_US,de_DE) |
MAIN_APPLICATION_TITLE | Changer le titre de l'application (attention : casse DoliDroid) |
MAIN_AUTOFILL_DATE | Préremplir automatiquement les dates (fortement déconseillé) |
MAIN_DISABLE_FULL_SCANLIST | Désactiver le comptage total pour la pagination (grands volumes) |
MAIN_FIRST_TO_UPPER | Mettre en majuscule la première lettre des noms de tiers |
MAIN_ALL_TO_UPPER | Mettre entièrement en majuscule les noms de tiers (v11.0) |
MAIN_DONT_KEEP_NOTE_ON_CLONING | Supprimer les notes lors du clonage (v11.0) |
MAIN_DOC_SORT_FIELD | Champ de tri par défaut sur la page documents (v11.0) |
MAIN_DOC_SORT_ORDER | Ordre de tri par défaut (ASC ou DESC) sur la page documents (v11.0) |
MAIN_ENABLE_LOG_TO_HTML | Activer les logs dans les pages via &logtohtml=1 dans l'URL |
MAIN_USE_HOURMIN_IN_DATE_RANGE | Ajouter heure et minutes aux champs date début/fin des lignes |
MAIN_REMOVE_INSTALL_WARNING | Supprimer les avertissements de sécurité post-installation |
MAIN_OPTIMIZE_SPEED | Activer les optimisations de performance |
MAIN_REPLACE_TRANS_xx_XX | Remplacer des chaînes de traduction pour une langue spécifique |
MAIN_REPEATCONTACTONEACHTAB | Afficher les contacts sur tous les onglets |
MAIN_DISABLE_JQUERY_JNOTIFY | Désactiver JNotify pour les messages de confirmation/erreur |
MAIN_USE_JQUERY_MULTISELECT | Activer le multiselect Ajax (multiselect, select2…) |
MAIN_HELPCENTER_LINKTOUSE | Lien personnalisé pour « J'ai besoin d'aide » sur la page de connexion |
MAIN_MODULES_FOR_EXTERNAL | Limiter les modules accessibles aux utilisateurs externes |
MAIN_SHOW_TUNING_INFO | Afficher les informations de réglage dans la console JavaScript |
MAIN_DOL_SCRIPTS_ROOT | Répertoire contenant le dossier scripts |
MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING | Seuil d'avertissement si trop peu de modules sont activés |
MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE | Ajouter la signature du commercial dans les notes publiques des documents |
MAIN_DISABLE_AJAX_COMBOX | Désactiver l'autocomplétion Ajax sur les listes de tiers/produits |
MAIN_FORCELANGDIR | Chemin du répertoire langs personnalisé |
MAIN_DEFAULT_LANGUAGE_FILTER | Masquer en_US des listes déroulantes de langues |
MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS | Taux de TVA par défaut si la détection automatique échoue (ex. 20) |
MAIN_HTML_TITLE | Contrôler le formatage du titre HTML (noapp, thirdpartynameonly…) |
MAIN_LANDING_PAGE | Première page affichée après connexion (>= v3.9) |