Les fichiers de configuration de votre application
Lors de la création d'un nouveau projet, le builder créé 3 fichiers de configuration connexion.ini.php site.ini.php et routing.phpDétaillons ici leur utilisation
Fichier connexion.ini.php
Il contient les différents profil de connexion sous la formeSection [db]
Introduction
[db]
nomDuProfil.dsn="chaineDeConnexionDsn"
nomDuProfil.sgbd=typdeDeDriverSgbd
nomDuProfil.hostname=serveur
nomDuProfil.database=baseDeDonnee
nomDuProfil.username=nomDutilisateur
nomDuProfil.password=motDePasse
Variable nomDuProfil.dsn
Dans le cas d'utilisation d'un driver de type pdo: pdo_mysql,pdo_pgsql,pdo_sqlite,pdo_mssql,pdo_oracle, il faut renseigner une chaine de connexionPlus d'information ici: http://php.net/manual/fr/pdo.construct.php
Variable nomDuProfil.sgbd
Type de driver sgbd à utiliser,il représente le nom de la classe qui sera utilisée:Pour pdo: pdo_mysql,pdo_pgsql,pdo_sqlite,pdo_mssql,pdo_oracle
Non pdo: mysql,csv,xml
Variable nomDuProfil.database
Nom de la base de donnée (uniquement nécéssaire pour les drivers non pdo)Variable nomDuProfil.hostname
Nom du serveur de base de donnée (uniquement nécéssaire pour les drivers non pdo)Variable nomDuProfil.username
Nom d'utilisateur de la connexionVariable nomDuProfil.password
Mot de passe de la connexionFichier site.ini.php
Contient la majorité de la configuration de votre siteSection [cache]
introduction
[cache]
enabled=0
lifetime= (0*3600)
autoload.enabled=0
Variable enabled
Permet d'activer ou non le cache sur le siteVariable lifetime
Temps de validité d'une page en cache (en secondes)Variable autoload.enabled
Active/désactive la génération d'un cache du chargeur de classe (pour gagner en performance au moment de livrer en production)Normalement à l'appel d'une classe, l'autoloader analyse de nom de celle-ci pour determiner d'adresse de son fichier de classe.
En activant cette variable, le framework va générer un tableau contenant l'ensemble des classes présentes dans l'application.
Section [encodage]
Introduction
Permet de choisir l'encodage utilisé par le framework: pour information les variables d'environnent $_GET et $_POST sont converti en HTML suivant cette variable
[encodage]
;indique l'encodage des fichiers de code, utilise par defaut pour plugin_html::encode($texte)
charset=ISO-8859-1
Variable charset
Encodage utiliséSection [language]
Introduction
[language]
;fr / en... //sLangue
default=fr
allow=fr,en
Variable default
Langue utilisé par défautSection [auth]
Introduction
[auth]
;note : >= php5.2 dans le php.ini
session.use_cookies = 1
session.use_only_cookies = 1
session.cookie_httponly=1
session.cookie_secure=0
session.cookie_domain=
session.cookie_path=
session.cookie_lifetime=
enabled=0
class=plugin_auth
module=auth::login
session.timeout.enabled=1
session.timeout.lifetime=(60*1)
Variable session.use_cookies
Utiliser des cookies de session et non le paramètre session_id dans l'urlVariable session.cookie_httponly
Utilisé lors de la création d'un cookie: indique que le cookie est accessible uniquement coté serveur et non coté javascript (mesure de sécurité)Variable session.cookie_secure
Indique si le cookie est accessible uniquement en httpsVariable session.cookie_domain
Indique le domaine à renseigner lors de la création du cookie de session, plus d'informations ici: http://php.net/manual/fr/function.session-set-cookie-params.phpVariable session.cookie_path
Indique le chemin à renseigner lors de la création du cookie de session, plus d'informations ici: http://php.net/manual/fr/function.session-set-cookie-params.phpVariable session.use_only_cookies
Utiliser uniquement les cookie de sessionVariable enabled
Permet d'activer/désactiver l'authentification sur l'ensemble du siteVariable class
Plugin à utiliser pour l'authentificationVariable module
Module a utiliser pour l'authentification: si l'utilisateur n'est pas connecté, on le redirigera sur ce couple module/actionVariable session.timeout.enabled
Donner un temps de péremption à votre session (temps d'inactivité)Variable session.timeout.lifetime
Temps d'inactivité limite (entre 2 clics)Section [acl]
Introduction
[acl]
class=plugin_gestionuser
Variable class
Nom de la classe à utiliser pour gérer les droits de l'application appelé lors de la méthode _root::getACL()Plus d'informations sur la gestion de droits: http://mkdevs.com/tutoriaux.html#acl
Section [navigation]
Introduction
[navigation]
scriptname=index.php
var=:nav
module.default=pages
action.default=accueil
layout.erreur=site/layout/erreurprod.php
Variable scriptname
Nom du fichier php frontal, index.php par défaut, mais peut etre remplacé par un autre nom.Variable var
Nom de la variable de navigation: par défaut ":nav" index.php?:nav=article::list, on peut ainsi le remplacer par exemple par "page" index.php?page=article::listVariable module.default
Module par défaut si on a pas de variable de navigation renseignéVariable action.default
Action par défaut si on a pas de variable de navigation renseignéVariable layout.erreur
Layout utilisé lors de l'affichage d'une erreur, si le mode du site est différent de "dev" (voir fichier conf/mode.ini.phpSection [urlrewriting]
Introduction
[urlrewriting]
enabled=0
class=plugin_routing
conf=../conf/routing.php
Variable enabled
Permet d'activer/désactiver l'url rewritingVariable class
Nom de la classe à utiliser pour gérer l'url rewriting, par défaut le plugin plugin_routingVariable conf
Indication du fichier de paramétrage des règles d'url rewriting à chargerSection [security]
Introduction
[security]
;XSRF ou CSRF,bSecuriteXSRF utilisation de jeton dans le CRUD, plus d'infos: http://fr.wikipedia.org/wiki/Cross-Site_Request_Forgeries
;XSS, bSecuriteXSS protection des variables GET,POST... via getParam( , plus d'infos http://fr.wikipedia.org/wiki/XSS
xsrf.enabled=1
xsrf.timeout.lifetime=360
xsrf.checkReferer.enabled=1
xss.enabled=1
xsrf.session.enabled=0
Variable xsrf.enabled
Non utilisée pour le moment, pour utiliser la protection xrf, utilisez des token comme indiqué dans le tutorialVariable xsrf.timeout.lifetime
Temps de validité du jeton (temps autorisé pour remplir le formulaire)Variable xsrf.checkReferer.enabled
Active/désactive la vérification de l'url referrer, (pour éviter une soumission de formulaire depuis un autre site)Variable xsrf.session.enabled
Indique au plugin de jeton d'utiliser la session pour garantir l'unicité du jetonVariable xss.enabled
Active/désactive la sécurisation des failles xss via une transformation en html des variables utilisées par _root::getParam()Section [log]
Introduction
[log]
class=plugin_log
application=0
warning=0
error=0
information=0
Variable class
Classe à utiliser pour loguer dans l'applicationVariable application
Indique si le log de l'application est activé ou nonVariable warning
Indique si le log de niveau "warning" de l'application est activé ou nonVariable error
Indique si le log de niveau "error" de l'application est activé ou nonVariable information
Indique si le log de niveau "information" de l'application est activé ou non (choix d'un module/action à charger, appel d'une requête sql...)Section [check]
Introduction
[check]
class=plugin_check
Variable class
Indique le nom de la classe à utiliser lors des vérification coté modèle (champ non vide, numérique)Section [site]
Introduction
[site]
;Redirection
;header : header('location:$url ')
;http: <html><head><META http-equiv="refresh" content="0; URL=$url ></head></html>
redirection.default=header
timezone=Europe/Paris
Variable redirection.default
Indique le type de redirection à utiliser: header ou httpVariable timezone
Indique le décalage horaire par défaut de toutes les fonctions date/heurePlus d'infos ici: http://php.net/manual/fr/function.date-default-timezone-set.php
Section [path]
[path]
lib=../../../../lib/framework/
data=../data/
upload=../data/upload/
log=../data/log/
img=../data/img/
i18n=../data/i18n/
cache=../data/cache/
conf=../conf/
module=../module/
plugin=../plugin/
model=../model/
layout=../layout/
view=view/
Section [model]
Introduction
[model]
ini.var=db
Variable ini.var
Indique le nom de la section où trouver les profils de connexionFichier mode.ini.php
Section [site]
Introduction
[site]
mode=dev