banner logo

Kit de Développement Logiciel Open Source

Développement simple, rapide et gratuit d'applications internet d'entreprise en PHP

logoutSe déconnecter
helpAide
  • ZnetDK
  • Téléchargements
  • Installation
  • Premiers pas
  • Aller plus loin
  • Doc de référence
  • Forum de discussion
  • Prestations
  • Me contacter
  • En bref...
  • Points forts
  • Fonctionnalités
  • Démonstration
  • Téléchargements
  • CHANGELOG.TXT
  • Copie des fichiers
  • Assistant d'application
  • Mise à niveau de ZnetDK
  • Déployer en Production
  • Outils pour développer
  • Personnaliser titres, logo et page
  • Choisir un thème
  • Bien démarrer
  • Tutoriel
  • L'accès sécurisé
  • Thème sur mesure
  • Modèle de page
  • Gestion multilingue
  • Authentification et Habilitations
  • Aide en ligne
  • Erreurs HTTP
  • Multi-applications
  • Architecture
  • API ZnetDK
  • Composants graphiques
  • Fichiers ZnetDK
  • Réglages de l'application

Les réglages de votre application sont effectués de manière centralisée par la modification des valeurs de paramètres généraux du fichier /applications/default/app/config.php.

Ces paramètres généraux sont détaillés ci-dessous pour chaque domaine de l'application qu'il impacte.

Authentification

Paramètre Valeurs supportées Valeur par défaut Description
CFG_AUTHENT_REQUIRED TRUE | FALSE FALSE Active le mécanisme d'authentification ZnetDK des utilisateurs de l'application.
CFG_SESSION_TIMEOUT Entier > 0 10 Délai en minutes d'expiration de la session utilisateur en cas d'inactivité continue.
CFG_SESSION_DEFAULT_MODE 'public' | 'private' 'public' Type d'accès par défaut à l'application.
A la valeur 'public', la session expire si l'utilisateur est inactif pendant un délai supérieur à celui défini pour le paramètre CFG_SESSION_TIMEOUT.
A la valeur 'private', la session de l'utilisateur n'expire jamais.
CFG_SESSION_SELECT_MODE TRUE | FALSE TRUE Indique si le choix du type d'accès Public ou Privé est proposé ou non à l'utilisateur lors de sa connexion à l'application.
A la valeur TRUE, le choix du type d'accès est proposé avec pour valeur par défaut, celle indiquée par le paramètre CFG_SESSION_DEFAULT_MODE.
A la valeur FALSE, le type d'accès à l'application est imposé à l'utilisateur et il correspond à celui indiqué par le paramètre CFG_SESSION_DEFAULT_MODE.
CFG_SESSION_ONLY_ONE_PER_USER TRUE | FALSE TRUE Indique si l'utilisateur est autorisé à ouvrir plusieurs sessions en même temps sur des terminaux différents avec le même identifiant de connexion.
A la valeur TRUE, l'utilisateur est automatiquement déconnecté du terminal sur lequel il a ouvert pour la dernière fois une session utilisateur s'il se connecte sur un autre terminal avec le même identifiant de connexion.
A la valeur FALSE, l'utilisateur peut librement se connecter à plusieurs terminaux différents avec le même identifiant de connexion sans déconnexion automatique.

Disponible à partir de la version 3.0 de ZnetDK.
CFG_DEFAULT_PWD_VALIDITY_PERIOD Entier > 0 6 Durée de validité en nombre de mois du mot de passe de l'utilisateur une fois renouvelé après expiration.
CFG_CHECK_PWD_VALIDITY Texte /^.{8,14}$/ Expression règulière appliquée à tout nouveau mot de passe saisi pour vérifier s'il est assez robuste.
L'expression régulière configurée par défaut impose la saisie d'un nouveau mot de passe d'une longueur comprise obligatoirement entre 8 et 14 caractères.
CFG_NBR_FAILED_AUTHENT Entier 3 Nombre de tentatives de saisie du mot de passe par l'utilisateur avant désactivation de son compte.
Par défaut, l'utilisateur ne dispose que de 3 essais pour saisir son mot de passe.
CFG_HTTP_BASIC_AUTHENTICATION_ENABLED TRUE | FALSE FALSE Active ou désactive l'authentification selon la méthode HTTP basique pour l'exécution d'une action de contrôleur en tant que service web.
CFG_ACTIONS_ALLOWED_FOR_WEBSERVICE_USERS Texte NULL Définit les actions de contrôleur que les utilisateurs peuvent exécuter après authentification selon la méthode d'authentification basique HTTP.
Les actions sont spécifiées sous la forme d'un tableau PHP sérialisé dans lequel chaque valeur texte correspond à un identifiant de connexion utilisateur suivi du séparateur '|', du nom du contrôleur suivi du séparateur ':' et de l'action autorisée.
Quand ce paramètre vaut NULL (valeur par défaut), aucune action ne peut être exécutée.
Par exemple : serialize(array( 'user1|controller1:doaction1', 'user2|controller2:otheraction' ))
CFG_DOWNLOAD_AS_POST_REQUEST_ENABLED TRUE | FALSE FALSE Active ou désactive la possibilité de télécharger des fichiers via la méthode HTTP POST.
Par défaut, les fichiers peuvent uniquement être téléchargés via la méthode GET en appelant l'action download d'un contrôleur applicatif.
CFG_FORGOT_PASSWORD_ENABLED TRUE | FALSE FALSE Active ou désactive l'affichage du lien "Mot de passe oublié ?" sur la fenêtre de connexion.
Pour plus d'informations, consulter la description plus détaillée sur la page de ZnetDK 4 Mobile.

Disponible à partir de la version 2.5 de ZnetDK
CFG_FORGOT_PASSWORD_REQUEST_TRACE_ENABLED TRUE | FALSE FALSE Active ou désactive l'ajout dans le fichier system.log de ZnetDK des demandes de nouveaux mot de passe.
Ce paramètre ne peut être activé que si le paramètre CFG_FORGOT_PASSWORD_ENABLED a été également activé.

Disponible à partir de la version 2.5 de ZnetDK
CFG_APPLICATION_VERSION Entier > 0 1 Indique la version courante de l'application (valeur entière fixée à 1 par défaut).
Quand ce numéro de version est incrémenté dans le script config.php de l'application, la page principale de l'application est automatiquement rechargée dès que la session de l'utilisateur a expiré.
Cela permet de forcer la mise à jour de l'application côté client pour l'aligner avec le code logiciel côté serveur, quand des modifications ont été apportées au code JavaScript ou CSS de l'application.

Disponible à partir de la version 2.6 de ZnetDK.

Bases de données

Les paramètres de connexion MySQL concernent 2 bases de données distinctes :

  • La base de données core (voir paramètre CFG_SQL_CORE_DB) qui est normalement réservée au stockage des tables internes de ZnetDK, notamment des tables de sécurité nécessaires à l'authentification et à l'habilitation des utilisateurs de l'application (voir rubrique L'accès sécurisé).
  • La base de données app (voir paramètre CFG_SQL_APPL_DB) qui est quant à elle destinée à contenir les tables créées spécifiquement pour les besoins de l'application développée.

Bien que ZnetDK permette de séparer les tables qui lui sont réservées de celles créées pour les besoins de l'application, vous pouvez néanmoins si vous le souhaitez, n'avoir qu'une seule base de données pour stocker à la fois les tables de type core et de type app. Dans ce cas, vous n'avez à configurer qu'une seule connexion de base de données au choix : celle correspondant aux paramètres CFG_SQL_CORE_xxx ou celle correspondant aux paramètres CFG_SQL_APPL_xxx.

Paramètre Valeurs supportées Valeur par défaut Description
CFG_SQL_HOST Texte 127.0.0.1 Nom d'hôte ou adresse IP de la machine sur laquelle est installé MySQL.
CFG_SQL_PORT Entier NULL Port TCP/IP sur lequel le serveur de base de données MySQL est à l'écoute des connexions utilisateur.
Par exemple 35105
CFG_SQL_CORE_DB Texte znetdk-core Nom de la base de données MySQL destinée à accueillir les tables internes de ZnetDK.
Parmi ces tables figurent celles dédiées aux habilitations utilisateurs.
CFG_SQL_CORE_USR Texte core Nom de l'utilisateur de connexion à la base de données interne ZnetDK.
CFG_SQL_CORE_PWD Texte password Mot de passe de connexion à la base de données interne ZnetDK.
CFG_SQL_APPL_DB Texte znetdk-app Nom de la base de données MySQL destinée à accueillir les données spécifiques à votre application.
CFG_SQL_APPL_USR Texte app Nom de l'utilisateur de connexion à la base de données spécifiques à votre application.
CFG_SQL_APPL_PWD Texte password Mot de passe de connexion à la base de données de votre application.
CFG_SQL_TABLE_REPLACE_PREFIXES Serialized array NULL Prefixes de tables à changer dynamiquement à l'exécution de l'application. Les données de plusieurs applications ZnetDK peuvent être ainsi hébergées dans une même base de données MySQL en définissant des préfixes de table différents d'une application à l'autre.
Exemple : serialize(array('zdk_'=>'new_', 'myapp_'=>'new_')
CFG_SQL_TRACE_ENABLED Booléen FALSE Trace dans le fichier /engine/log/system.log les instructions SQL exécutées par les classes \DAO et \SimpleDAO.

Disponible à partir de la version 2.5 de ZnetDK.

Exécution asynchrone

Des actions de contrôleur peuvent être exécutées de manière asynchrone depuis une application ZnetDK quand les traitements à effectuer sont de nature batch.

L'exécution asynchrone d'une action de contrôleur s'effectue par un appel à la méthode AsyncExec::submitActionToLaunch().
L'action à éxécuter doit être déclarée préalablement asynchrone par un appel à la méthode setAsynchronousActions de la classe \AppController.

Pour activer cette fonctionnalité, les paramètres indiqués dans le tableau ci-dessous doivent être configurés.

Paramètre Valeurs supportées Par défaut Description
CFG_ASYNCEXEC_PHP_BINARY_PATH Chemin d'accès au binaire PHP incluant les paramètres d'appel NULL Fournit le chemin complet d'accès au programme exécutable PHP appelé par ZnetDK pour exécuter l'action de manière asynchrone.
Le chemin à renseigner diffère selon la plateforme sur laquelle est installéé l'application. Par exemple :
  • Sous Linux, /usr/bin/php %1%2 %3 %4 %5 %6 %7 %8 "%9" >/dev/null 2>&1 &
  • Sous Windows, start "" /B "php" "%2" "%3" "%4" "%5" "%6" "%7" "%8" "%9" >NUL 2>&1
Les paramètres %1 à %9 correspondent aux valeurs suivantes :
  • %1 : chemin absolu du répertoire racine de ZnetDK (valeur de la constante PHP ZNETDK_ROOT),
  • %2 : script index.php de ZnetDK,
  • %3 : argument 'autoexec' passé au script index.php
  • %4 : identifiant de l'application (valeur de ZNETDK_APP_NAME) passée au script index.php,
  • %5 : identifiant de connexion de l'utilisateur à l'origine de la demande d'exécution,
  • %6 : identifiant du processus asynchrone,
  • %7 : nom du contrôleur contenant l'action à exécuter,
  • %8 : nom de l'action à exécuter,
  • %9 : paramètres à transmettre à l'action de contrôleur.
CFG_ASYNCEXEC_LOG_ENABLED TRUE | FALSE FALSE Indique si le déclenchement des traitements asynchrones doit être tracé dans le journal système de ZnetDK.

Exécution automatique

Le déclenchement automatique d'opérations pré-programmées peut être paramétré dans ZnetDK, par exemple pour capturer à fréquence régulière des fichiers déposés en FTP dans un SAS de dépôt ou encore pour vérifier l'arrivée de nouveaux messages dans une boîte aux lettres mail.

Le paramétrage de cette fonction consiste à définir les paramètres décrits dans le tableau ci-dessous pour :

  • Indiquer le chemin d'accès au binaire PHP,
  • La fréquence de déclenchement de l'exécution automatique,
  • La journalisation des éxécutions automatiques.

Le traitement à déclencher doit être implémenté dans un contrôleur applicatif spécifique nommé Autoexec et comprenant l'action main comme illustré dans l'exemple ci-après :

<?php
namespace app\controller;
class AutoExec extends \AppController {
    static public function main() {
        // My process is to be launched here...
        return 'OK';
    }
}

Le déclenchement de l'action main a lieu à l'exécution de toute requête HTTP vers l'application, de manière asynchrone (pas de blocage de l'utilisateur à l'origine de la requête HTTP), uniquement si le délai écoulé depuis la précédente requête est supérieur au délai paramétré pour CFG_AUTOEXEC_FREQUENCY.

Paramètre Valeurs supportées Par défaut Description
CFG_AUTOEXEC_PHP_BINARY_PATH Chemin d'accès au binaire PHP incluant les paramètres d'appel NULL Fournit le chemin complet d'accès au programme exécutable PHP appelé par ZnetDK pour exécuter les tâches asynchrones.
Le chemin à renseigner diffère selon la plateforme sur laquelle est installéé l'application.
Par exemple :
  • Sous Linux, /usr/bin/php %1%2 %3 %4 >/dev/null 2>&1 &
  • Sous Windows, start "" /B "php" "%2" "%3" "%4" >NUL 2>&1
Les paramètres %1, %2, %3 et %4 correspondent aux valeurs suivantes :
  • %1 : chemin absolu du répertoire racine de ZnetDK (valeur de la constante PHP ZNETDK_ROOT),
  • %2 : script index.php de ZnetDK,
  • %3 : argument 'autoexec' passé au script index.php
  • %4 : identifiant de l'application (valeur de ZNETDK_APP_NAME) passée au script index.php.
CFG_AUTOEXEC_FREQUENCY Nombre de secondes 3600 Nombre minimum de secondes qui se sont écoulées depuis la précédente exécution.
CFG_AUTOEXEC_LOG_ENABLED TRUE | FALSE FALSE Indique si le déclenchement des traitements automatiques doit être tracé dans le journal système de ZnetDK.

Gestion multilingue

Paramètre Valeurs supportées Valeur par défaut Description
CFG_MULTI_LANG_ENABLED TRUE | FALSE FALSE Indique si l'affichage multi-langues de l'application est supportée ou non.
CFG_DEFAULT_LANGUAGE Code pays ISO 639-1 fr Code pays de la langue affichée par défaut lorsque la langue préférée du navigateur internet n'est pas reconnue par l'application.
CFG_COUNTRY_LABELS Tableau PHP des libellés de langues reconnues par l'application serialize(array(
'fr'=>'Français',
'en'=>'English',
'es'=>'Español'))
Libellés des langues affichées en entête de l'application renseignés sous la forme d'un tableau PHP dont la clé de chaque langue représente le code pays ISO 639-1 qui lui correspond.
CFG_COUNTRY_ICONS Tableau PHP du chemin d'accès aux images d'illustration des langues reconnues par l'application serialize(array(
'fr'=>CFG_ZNETDK_IMG_DIR.
'/lang_flag_fr.png',
'en'=>CFG_ZNETDK_IMG_DIR.
'/lang_flag_en.png',
'es'=>CFG_ZNETDK_IMG_DIR.
'/lang_flag_es.png')))
Chemin relatif et nom des images d'illustration des langues affichées en entête de l'application et renseignées sous la forme d'un tableau PHP dont la clé de chaque langue représente le code pays ISO 639-1 qui lui correspond.

Mode de chargement des vues

Paramètre Valeurs supportées Valeur par défaut Description
CFG_VIEW_PRELOAD TRUE | FALSE TRUE Chargement de toutes les vues dès le premier accès à l'application.
A la valeur FALSE, les vues sont chargées à la demande dès que l'utilisateur y accède.
La vue une fois chargée ne l'est plus lors des accès suivants.
Ce paramètre n'est pas pris en compte si le paramètre CFG_VIEW_PAGE_RELOAD est défini à la valeur TRUE
CFG_VIEW_PAGE_RELOAD TRUE | FALSE FALSE Rechargement complet de la page de l'application à chaque demande d'affichage d'une nouvelle vue par le click d'une entrée de menu.
Ce mode de chargement est particulièrement adapté à l'utilisation de ZnetDK pour de la publication de contenu avec référencement par les moteurs de recherche.
Cette fonctionnalité n'est disponible que si l'authentification ZnetDK est désactivée (paramètre CFG_AUTHENT_REQUIRED à FALSE).

Modèle de page

Paramètre Valeurs supportées Valeur par défaut Description
CFG_PAGE_LAYOUT 'classic' | 'office' | 'custom' 'classic' Modèle de page de l'application.
Indique le modèle de page à utiliser pour l'application.
Le modèle de page est installé en standard dans le dossier /engine/core/layout mais peut être personnalisé en le copiant dans le dossier /applications/default/app/layout.
CFG_NON_MOBILE_PWA_ENABLED Booléen FALSE Active les fonctionnalités PWA (Progressive Web Application) pour les applications configuées avec les modèles de page classic, office et custom.
Après activation (valeur TRUE), l'application devient installable sous Windows (Service Worker démarré au chargement de l'application et ajout de l'icône favorite de type Favicon).
L'icône favorite peut être personnalisée comme pour une application ZnetDK 4 Mobile (voir page PWA de ZnetDK 4 Mobile).

Disponible à partir de la version 2.5 de ZnetDK.

Thème des composants graphiques

Paramètre Valeurs supportées Valeur par défaut Description
CFG_THEME_DIR Texte 'applications/default/public/themes' Chemin relatif du répertoire dans lequel sont installés les thèmes sur mesure créés à partir du ThemeRoller.
CFG_THEME Texte 'znetdk' Thème d'affichage de l'application.

Feuilles de styles

Paramètre Valeurs supportées Valeur par défaut Description
CFG_APPLICATION_CSS Texte NULL Chemin relatif et nom de la feuille de styles à appliquer spécifiquement pour les besoins de l'application.
Une feuille de style externe à l'application peut également être appliquée en indiquant son URL d'accès.
Plusieurs feuilles de style peuvent être appliquées à la page par l'intermédiaire d'un tableau sérialisé.
Exemples :
1)'applications/default/public/css/myapp.css'
2)'https://extracsslibrary.net/lib.css'
3)serialize(array(
'applications/default/public/css/myapp.css',
'https://extracsslibrary.net/lib.css'))

Scripts JavaScript

Paramètre Valeurs supportées Valeur par défaut Description
CFG_APP_JS Texte NULL Chemin relatif et nom du script JavaScript à charger spécifiquement dans la page pour les besoins de l'application.
Un script JavaScript externe à l'application peut également être chargé en indiquant son URL d'accès.
Plusieurs scripts peuvent être chargés dans la page par l'intermédiaire d'un tableau sérialisé.
Exemples :
1)'applications/default/public/js/myapp.js'
2)'https://extrajslibrary.net/lib.js'
3)serialize(array(
'applications/default/public/js/myapp.js',
'https://extrajslibrary.net/lib.js'))

Documents

Paramètre Valeurs supportées Valeur par défaut Description
CFG_DOCUMENTS_DIR Texte ZNETDK_APP_ROOT . DIRECTORY_SEPARATOR . 'documents' Chemin absolu du répertoire znetdk/applications/default/documents de stockage des documents téléchargés et téléchargeables de l'application. Cette constante peut être utilisée à l'appel de la méthode Response::setFileToDownload().

Aides en ligne

Paramètre Valeurs supportées Valeur par défaut Description
CFG_HELP_ENABLED TRUE | FALSE FALSE Affichage de l'icône et du lien d'accès à l'aide en ligne contextuelle.

Développement

Paramètre Valeurs supportées Valeur par défaut Description
CFG_ZNETDK_CSS Texte engine/public/css/minified/%1-min.css Indique le chemin relatif où sont installées les feuilles de styles ZnetDK à charger pour l'application.

Par défaut, la version minifiée des feuilles de styles est chargée (nom du fichier terminé par -min.css).
A des fins de débogage, il est possible de charger la version étendue (non minifiée) des feuilles de styles en modifiant la valeur du paramètre à 'engine/public/css/%1.css'.

CFG_DEV_JS_ENABLED TRUE | FALSE FALSE Indique si les librairies Javascript ZnetDK et PrimeUI doivent être chargées dans leur version minimifiée ou étendue.
A la valeur TRUE, la version étendue est chargée ce qui permet d'exécuter le code Javascript en mode pas à pas depuis le navigateur internet.
CFG_AUTO_MINIFICATION_METHOD Texte NULL La méthode PHP à appeler pour minimification automatique des scripts CSS et JavaScript des modules ZnetDK.
Les scripts une fois minifiés par la méthode paramétrée, doivent avoir un nom se terminant par -min.js ou -min.css et être placés sous le chemin znetdk/engine/modules/[MODULE]/public, dans les sous-dossiers suivants :
  • js/minified pour les librairies JavaScript,
  • css/minified pour les feuilles de styles.

La méthode paramétrée est appelée par ZnetDK avec la valeur de paramètre 'js' pour minifier les scripts JavaScript des modules, uniquement si le paramètre CFG_DEV_JS_ENABLED est défini avec la valeur TRUE (valeur par défaut à l'installation).
Elle est également appelée avec la valeur de paramètre 'css' pour minifier les feuilles de style CSS des modules, uniquement si le paramètre CFG_ZNETDK_CSS est défini avec sa valeur par défaut à l'installation pour charger la version minifiée.

Exemples de valeurs du paramètre :
'app\MyClass::minify'
'mymodule\mod\MyClass::minify'

CFG_DISPLAY_ERROR_DETAIL Booléen FALSE Indique si les erreurs critiques sont affichées à l'écran de l'utilisateur.
A la valeur TRUE, le détail du message d'erreur critique est affiché à l'utilisateur.
A la valeur FALSE, un message d'erreur générique est affiché à la place.

Disponible en version 3.0 de ZnetDK.
CFG_EXEC_PHP_SCRIPT_AFTER_ACTION_DONE Texte NULL Indique le chemin et le nom du script PHP à exécuter une fois l'action de contrôleur terminée.
Ce script permet par exemple de mesurer le temps d'exécution des actions de contrôleur pour identifier les moins performantes.
La constante PHP ZNETDK_TIME_ELAPSED_FOR_ACTION peut être lue depuis le script PHP renseigné pour disposer du temps d'éxécution en secondes de l'action de contrôleur.

Disponible en version 3.1 de ZnetDK.

Sécurité

Paramètre Valeurs supportées Valeur par défaut Description
CFG_REQUEST_VARIABLE_FILTERING_LEVEL 'LOW' | 'HIGH' 'HIGH' Indique le niveau de filtrage appliqué par défaut à la lecture des variables de requêtes HTTP via la classe ZnetDK \Request() (par exemple $request->my_var).
La valeur 'HIGH' est définie par défaut et signifie que la fonction PHP filter_var() est appliquée avec le filtre FILTER_SANITIZE_STRING et l'option FILTER_FLAG_NO_ENCODE_QUOTES.
L'autre valeur possible est 'LOW' avec un filtrage effectué à l'aide de la fonction PHP strip_tags() et préservation du texte '<=' s'il existe.

Disponible à partir de la version 2.6 de ZnetDK.

Maintenance

Paramètre Valeurs supportées Valeur par défaut Description
CFG_IS_IN_MAINTENANCE TRUE | FALSE FALSE Indique si l'application est en mode Maintenance ou non.
En mode Maintenance, l'application n'est plus disponible et la vue znetdk/engine/core/view/maintenance.php est affichée pour informer les utilisateurs qu'ils doivent attendre la fin des travaux de maintenance.
Ce message peut être personnalisé en modifiant la constante LC_MSG_ERR_MAINTENANCE dans le script locale.php de l'application.

Modules

Les paramètres présentés ci-après s'appliquent uniquement aux modules ZnetDK

zdkmail

Les paramètres suivants ne concernent que la configuration des envois d'emails sous Windows.

Paramètre Valeurs supportées Valeur par défaut Description
MOD_EMAIL_SMTP Texte NULL Adresse du serveur SMTP d'envoi des emails.
Correspond au paramètre SMTP du fichier de configuration PHP php.ini.
MOD_EMAIL_SMTP_PORT Entier NULL Port SMTP d'envoi des emails.
Correspond au paramètre smtp_port du fichier de configuration PHP php.ini.
MOD_EMAIL_FROM Texte NULL Adresse email par défaut de l'expéditeur.
Correspond au paramètre sendmail_from du fichier de configuration PHP php.ini.
©réation 2014-2025 | Tous droits réservés Mentions légales Licence ZnetDK Projet PMC Logiciels