> copixconfphp
fr

Présentation

Le fichier copix.conf.php gère les options du framework et se situe dans project/config/copix.conf.php.

Fonctionnement des URL

Aujourd’hui, il existe deux modes de fonctionnement pour les URL :

URLs classiques (default)

Par exemple : index.php?module=nom&desc=default&action=do


   $config->significant_url_mode = 'none'; // Utilisation des url "normales"
 

URLs significatives (prepend)

Par exemple : index.php/nom/default/do


   $config->significant_url_mode = 'prepend'; // Utilisation des url significatives type "prepend"
 

Gestionnaire de cache

Copix propose en standard une classe capable de gérer des caches de contenu : CopixCache. Vous pouvez activer ou non ce cache. Par exemple, sur un serveur de développement, vous souhaitez que le cache ne fonctionne jamais pour être sûr que vos fonctions dynamiques sont systématiquement appelées :


   $config->cacheEnabled = false; // Le cache est toujours inactif
 

Les autres opérations de configuration du cache se configurent dans les interfaces livrées avec le module admin.

Langues, Pays & charset

Ressources & charset

Vous pouvez indiquer la langue et le charset par défaut de votre site :


   $config->default_language = 'fr';
   $config->default_country = 'FR';
   $config->default_charset = 'ISO-8859-1';
 

Copix n'intègre en standard que les langues anglais (en) et français (fr). Si vous souhaitez utiliser d’autres langues, il vous faudra traduire les fichiers de ressources. Voir le chapitre internationalisation pour plus de détails.

Note : Si vous souhaitez que la langue soit détectée automatiquement, vous pouvez enregistrer le plugin i18n dédié à cet effet.

Sélection des templates en fonction de la langue

Vous pouvez demander à Copix de sélectionner les templates spécialisés en fonction de la langue courante. Activer cette option consomme des ressources, ainsi, nous recommandons de la désactiver si vous n'en profitez pas.


$config->i18n_path_enabled = false;
 

Erreurs de clefs

Vous pouvez demander à Copix de générer des erreurs lorsqu'on lui demande une clef i18n inexistante, ou simplement lui demander de retourner comme chaine le nom de la clef demandée.


//Provoquera une erreur si l'on demande une clef inexistante. Mettre "null" en production pour mettre ces erreurs sous silence.
$config->missingKeyTriggerErrorLevel = E_USER_ERROR;
 

Templates

Copix utilise Smarty en standard comme moteur de templates. Pour configurer Smarty, Copix publie les seules options dont vous aurez besoin. En standard, vous n’aurez pas à modifier ces paramètres :


   $config->template_dir = COPIX_PROJECT_PATH.’templates/’; // Le répertoire ou sont stockés les templates
   $config->compile_dir = COPIX_CACHE_PATH.’tpl_compile/’; // Le répertoire ou sont compilés les templates
   $config->config_dir = ’./configs’; // Le répertoire ou sont situés les fichiers de configuration
   $config->caching = 0; // Le mode de fonctionnement du cache
   $config->cache_dir = COPIX_CACHE_PATH.’tpl_cache/’; // Le répertoire de cache
 

Note : Consultez la documentation de Smarty pour plus de renseignements sur ces paramètres de configuration.

Template principal de l’application

Dans Copix, vous utilisez un template principal pour votre application. Pour définir le template principal par défaut de votre application, vous utiliserez le paramètre $mainTemplate :


   $config->mainTemplate = 'default|main.ptpl';
 

Note : Le nommage du template principal reprend les principes des sélecteurs dans Copix (module|nomElement).

Paramètres de compilation

L’une des particularités de Copix est de compiler ses fichiers de configuration XML (CopixConfig), properties (CopixI18N), DAO (CopixDAO) en PHP. C’est à dire qu’une fois analysés, les fichiers de configuration sont transformés en vrai PHP et donc exécutés aussi rapidement que si c’était le développeur lui même qui avait écrit la fonctionnalité "en dur".

Copix est capable de détecter seul si votre fichier de configuration a été modifié et donc s’il doit de nouveau générer le source en conséquence. Toutefois, il vous est possible de modifier ce mode de fonctionnement (que nous nommons compile_check), en fonction de vos besoin.

Vérifier les mises à jour pour la compilation (compile_check, mode par défaut)

Par défaut, avant d’utiliser un élément qu’il à transformé en PHP, Copix vérifie si vos fichiers de configuration relatifs ont étés modifiés (en comparant simplement la date système des éléments en jeu).

Pour obtenir ce fonctionnement, voici les paramètres de compilation que vous devez avoir dans vos fichiers de configuration :


$config->force_compile  = false;
$config->compile_check  = true;
 

Note : c'est la configuration recommandée durant la phase de développement.

Forcer la compilation (force_compile)

Si pour une raison ou pour une autre vous pensez que le système n’est pas capable de savoir si vos fichiers ont étés modifiés depuis leurs dernière compilation (par exemple horloges systèmes décalées sur les différentes machines), vous pouvez demander à Copix de toujours compiler les éléments.

Pour obtenir ce fonctionnement, voici les paramètres de compilation que vous devez avoir dans vos fichiers de configuration :


$config->force_compile  = true;
$config->compile_check  = true;//comme force_compile est à vrai, ce paramètre à peu d'importance
 

Note : Forcer la compilation des éléments est très coûteux en terme de performances. N’activez jamais cet élément en production, quand bien même vous souhaitez "tout recompiler". En production, préfèrez vider les répertoires de cache. Les paramètres "force" ont la priorité sur les paramètres "check". C’est à dire que "check" n’est pas pris en compte si "force" est actif.

Ne jamais vérifier la compilation

A des fins d’optimisation et de gains de performances, vous pouvez vouloir désactiver la vérification de compilation. Vous gagnerez ainsi tous les temps de contrôle sur les fichiers résultants. Désactiver le contrôle ne signifie pas que les fichiers ne seront pas compilés, mais que si les fichiers compilés existent, Copix ne regardera pas s’il devrait les mettre à jour.


$config->force_compile  = false;
$config->compile_check  = false;
 

Note : Ne pas vérifier la compilation des éléments est un paramètre que nous recommandons de mettre en production. Les gains de performance sont significatifs.

Emplacement des modules

Copix est capable d'aller chercher les modules à différents emplacements. Ces emplacements sont configurables dans la variable arModulesPath.

Seuls les modules situés dans ces emplacements pourront être installés.


$config->arModulesPath = array (COPIX_PROJECT_PATH.'modules/public/stable/standard/',
COPIX_PROJECT_PATH.'modules/public/stable/cms/',
COPIX_PROJECT_PATH.'modules/public/devel/bench/',
COPIX_PROJECT_PATH.'modules/public/devel/tools/'
);
 

Restreindre la liste des modules exécutables

Sur certains sites, pour des raison de sécurité par exemple, vous pouvez être amené à vouloir désactiver l'exécution directe de certains modules (parametters, install, ..., ...).

Pour ce faire, vous pouvez activer le mode "trustedModules" qui n'autorisera alors l'exécution des modules que s'ils ont étés explicitement ajoutés à la liste des modules autorisés (arTrustedModules)

Dans l'exemple ci dessous, seul le module bench_news peut être appelé via l'installation courante.


$config->checkTrustedModules = true;
$config->arTrustedModules = array ('bench_news'=>true, 'default'=>true);
 

Authentification

Toujours vérifier les droits au moment de la demande (3.0.1+).


$config->copixauth_cache = false;
 

En standard, ce paramètre est positionné à true, ce qui fait que Copix n'interroge le système de droit qu'une fois par chaine et se souvient ensuite du résultat pour toute la session.

C'est très pratique pour optimiser les performances, mais cela peut être gênant lorsque vous êtes en phase de développement.