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.php
Détaillons ici leur utilisation

Fichier connexion.ini.php

Il contient les différents profil de connexion sous la forme

Section [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 connexion
Plus 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 connexion

Variable nomDuProfil.password

Mot de passe de la connexion

Fichier site.ini.php

Contient la majorité de la configuration de votre site

Section [cache]

introduction


  
[cache]
enabled=0
lifetime
= (0*3600)
autoload.enabled=0
   


Variable enabled

Permet d'activer ou non le cache sur le site

Variable 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éfaut

Section [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'url

Variable 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 https

Variable 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.php

Variable 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.php

Variable session.use_only_cookies

Utiliser uniquement les cookie de session

Variable enabled

Permet d'activer/désactiver l'authentification sur l'ensemble du site

Variable class

Plugin à utiliser pour l'authentification

Variable module

Module a utiliser pour l'authentification: si l'utilisateur n'est pas connecté, on le redirigera sur ce couple module/action

Variable 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::list

Variable 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.php

Section [urlrewriting]

Introduction


  
[urlrewriting]
enabled=0
class=plugin_routing
conf
=../conf/routing.php
   


Variable enabled

Permet d'activer/désactiver l'url rewriting

Variable class

Nom de la classe à utiliser pour gérer l'url rewriting, par défaut le plugin plugin_routing

Variable conf

Indication du fichier de paramétrage des règles d'url rewriting à charger

Section [security]

Introduction


  
[security]
;
XSRF ou CSRF,bSecuriteXSRF utilisation de jeton dans le CRUDplus 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 tutorial

Variable 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 jeton

Variable 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
   


Plus d'information sur le log du log ici: http://mkdevs.com/faq.html#log

Variable class

Classe à utiliser pour loguer dans l'application

Variable application

Indique si le log de l'application est activé ou non

Variable warning

Indique si le log de niveau "warning" de l'application est activé ou non

Variable error

Indique si le log de niveau "error" de l'application est activé ou non

Variable 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 http

Variable timezone

Indique le décalage horaire par défaut de toutes les fonctions date/heure
Plus 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/
    


Permet d'indiquer l'ensemble des chemins utilisés par le framework

Section [model]

Introduction


  
[model]
ini.var=db
   


Variable ini.var

Indique le nom de la section où trouver les profils de connexion

Fichier mode.ini.php

Section [site]

Introduction


  
[site]
mode=dev
   


Variable mode

Indique le mode de l'application "dev" : affiche les erreurs...,"production" devient muet