ForgeOpenPlatform
fr

OpenPlatform

Réglages, services et tables de base de données d’OpenPlatform

OpenPlatform · openplatform@5 openplatformsettingsdatabaseservices

Les réglages

OpenPlatform conserve sa configuration dans la table cl_config et la charge dans le CONF de Total.js au démarrage et toutes les huit heures (definitions/init.js). L’écran de configuration lit et enregistre ces clés (plugins/setup/schemas/settings.js) :

CléSignification
name, icon, colorle nom, le logo et la couleur de la plateforme
urll’adresse publique de la plateforme (sans le / final). La modifier vide les liens de notification et les sessions d’application ouvertes
languagela langue par défaut
mail_smtp, mail_smtp_options, mail_fromle serveur SMTP, ses options (JSON) et l’expéditeur ; l’écran de configuration peut les tester
$tms, secret_tmspublier les événements par TMS, et le secret de cette connexion
allow_token, tokenactiver l’API publique GET /users/ et son jeton
newtabouvrir chaque application dans un nouvel onglet
sync, sync_tokenaccepter le socket /sync/ d’autres instances, avec son jeton

Le premier démarrage (database.sql) génère aussi, dans cl_config, des valeurs que l’écran de configuration ne modifie pas : l’id de l’installation, le secret d’authentification, le nom du cookie, le salt des mots de passe, le saltchecksum des sommes de contrôle et le secret de la connexion TMS. Il crée les clés avec ces valeurs par défaut :

CléPar défautSignification
auth_cookie_expire1 monthla durée de vie du cookie de session
auth_expire5 minutescombien de temps l’utilisateur connecté est gardé en mémoire avant d’être relu
auth_cookie_options{"httponly":true,"security":"lax"}les options du cookie de session
auth_strictfalsesessions strictes
app_session_expire1 dayla durée d’une session d’application
cdnhttps://cdn.componentator.com/le CDN de l’interface
languageeula langue par défaut
token, sync_tokengénéréle jeton de l’API des utilisateurs et du socket de synchronisation (ces deux fonctions sont désactivées par défaut)

La clé servicetoken, que le point d’accès d’envoi d’image compare à son jeton de requête, n’est pas créée par le script et l’écran de configuration ne la modifie pas : elle n’existe que si vous l’ajoutez vous-même à cl_config.

Le script crée aussi le groupe Admin et le premier utilisateur (info@totaljs.com, administrateur, confirmé) qui en fait partie ; voir l’installer.

Les services en arrière-plan

Total.js exécute un service chaque minute. OpenPlatform l’utilise (definitions/init.js) pour :

  • vider le cache en mémoire des vérifications (toutes les 2 minutes) ;
  • enregistrer les statistiques quotidiennes : utilisateurs en ligne, le maximum et le nombre par appareil (toutes les 3 minutes) ;
  • recharger la configuration depuis la base de données (toutes les 8 heures) ;
  • supprimer les sessions d’application et de plateforme expirées (toutes les 12 heures) ;
  • envoyer les résumés par e-mail des notifications non lues (toutes les 11 minutes, quand la messagerie est configurée).

La base de données

Tout vit dans le schéma PostgreSQL op :

TableCe qu’elle contient
cl_configla configuration (clé, valeur, type)
tbl_userles utilisateurs : profil, hachage du mot de passe, indicateurs, compteurs et permissions en cache
tbl_grouples groupes
tbl_user_groupquel utilisateur appartient à quel groupe
tbl_sessionles sessions des utilisateurs dans le portail (appareil, adresse, expiration)
tbl_apples applications : adresse, secrets, indicateurs et adresses autorisées
tbl_app_permissionles permissions que chaque application déclare
tbl_group_permissionquelles permissions (ou simplement quelles applications) chaque groupe accorde
tbl_app_sessionles sessions de lancement des applications et leurs jetons dérivés
tbl_user_apppar utilisateur et application : les liens de notification et s’ils acceptent les notifications
tbl_notificationles notifications
tbl_visitorles statistiques quotidiennes des visiteurs
tbl_feedbackles retours que les utilisateurs envoient depuis le portail

Les fichiers datés database-2023-09-15.sql, database-2024-03-21.sql, database-2024-10-22.sql et database-2024-10-30.sql du dépôt sont les modifications du schéma au fil du temps, et database.sql est le script complet que le premier démarrage exécute. Sauvegardez ce schéma comme n’importe quelle autre base de données PostgreSQL.