Configuration PHP du site

De Sydonie

La configuration du site s'opère en plusieurs phases: la configuration de base est chargée (fichier MonSite/config/server/config_base.php) pour pouvoir lancer Sydonie. Puis le framework va charger diverses configurations détaillées ci-dessous.

Dans certains cas, le framework possède une configuration par défaut qui peut être modifiée dans le site (par exemple pour les adresses d'expéditeur de mail). Dans ce cas, le framework charge d'abord le fichier de configuration du site puis celui du framework. Au lieu d'effectuer un define d'une constante, le fichier de configuration de Sydonie utilise une fonction tryToDefine qui ne définit une constante que si elle n'existe pas encore.

Chargement des fichiers de configuration du framework et du site

Lors de l'exécution, les configurations sont chargées dans l'ordre suivant:

  • MonSite/config/server/config_base.php : la config de base pour les chemins, etc (voir Configuration PHP du serveur)
  • Sydonie/config/config_startup.php (rien à changer ici pour le développeur) définit les comptes VISITOR, les groupes ADMIN et VISITOR, ainsi que les mode de gestion des droits
  • Sydonie/config/config_helpers.php tente de définir (fonction tryToDefine) les chemins pour les Helpers. Ces constantes peuvent au préalable avoir été définies dans MonSite/config/server/config_base.php si les chemeins sont différents de ceux par défaut
  • MonSite/config/server/config_db.php définit les accès au serveur de base de données (voir Configuration PHP du serveur)
  • MonSite/config/site/config_site.php définit les constantes spécifiques au site (là encore des valeurs par défaut sont appliquées dans Sydonie si les constantes ne sont pas spécifiées ici):
    • SITE_NAME, SITE_MACHINE_NAME pour le nom du site, SITE_THEME pour le thème graphique à utiliser (voir Configuration d'un thème)
    • DRAFT, SUBMITTED, PUBLISHED pour les statuts de publication
    • PER_PAGE et MAX_LINKS pour définir le nombre d'items par page et le nombre de liens à afficher (par défaut valent 10 et 7 dans Sydonie)
    • FORM_TEXT_MANDATORY pour indiquer le texte montrant qu'un champ de formulaire est obligatoire (vaut * par défaut dans Sydonie)
    • SEL : grain de sel pour la génération de mots de passe
    • Plus toutes les constantes spécifiques au site. Par exemple pour le site "Mémoire de catastrophes", SELECTED_STORIES_MAX_NB pour déterminer le nombre de témoignages à la Une
  • MonSite/config/site/config_permissions.php spécifie le modèle de permissions du site (voir Gérer les permissions)
  • Sydonie/config/config_default.php définit des constantes par défaut, qui peuvent être redéfinies dans le site. À priori cependant, seules les constantes mentionnées dans les items précédents ont besoin d'être définies
  • Sydonie/config/config_misc.php définit des constantes diverses
  • Sydonie/config/config_permissions.php définit des constantes pour les permissions et des modèles de base (public, registered, admin, nobody). NOTA : la classe Perm doit partir de là
  • Sydonie/config/config_statements.php définit les statements de base du framework, par ex. _OWNS_
  • MonSite/config/site/config_statements.php définit les statements spécifiques au site
  • MonSite/config/site/config_libs.php (fichier optionnel) définit les bibliothèques à inclure spécifiques au site
  • MonSite/config/site/config_languages.php définit la langue par défaut du site et la liste des langues disponibles pour l'interface
  • Sydonie/config/site/config_languages.php définit les valeurs par défaut pour les langues
  • Sydonie/config/site/config_keys.php définit les clés d'URL pour activer les Packages utilisables. Sydonie en définit le minimum, et le site doit activer les clés nécessaires
  • MonSite/config/site/config_keyss.php définit les Packages activables par URL. Attention cette étape est indispensable pour pouvoir utiliser un package de votre site. Voir la page Créer un nouveau type de document
  • Inclusion des fonctions Aglae du framework et du site. Voir Fonctions Aglae
  • Sydonie/config/site/config_resources.php définit les types de stockages possibles (au 12/05/2012 seulement warehouse est possible)
  • MonSite/config/themes/themeChoisi/config_theme.php charge la configuration du thème graphique. Voir Configuration d'un thème
  • MonSite/config/site/config_jsCalls.php liste les fichiers JavaScript à appeler sur toutes les pages du site
  • MonSite/config/site/config_cssCalls.php liste les CSS (en dehors de celles du thème) à inclure dans toutes les pages du site
  • MonSite/config/server/config_mail.php pour la configuration des mails (voir Configuration PHP du serveur)
  • MonSite/config/site/config_adapters.php et MonSite/config/site/config_events.php (fichiers optionnels)