Différences entre versions de « Développer une nouvelle application pour eGroupWare »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
Ligne 36 : Ligne 36 :
  
 
== Le fichier de configuration ==
 
== Le fichier de configuration ==
 +
 +
La création d'une application commence par la définition du fichier de configuration. Ce fichier doit s'appeler '''setup.inc.php''' et doit se trouver dans le répertoire '''setup''' de l'application. Il s'agit alors de compléter les champs du tableau setup définissant les paramètres de l'application.
 +
*setup['NomApplication']['name'] : nom de l'application.
 +
*setup['NomApplication']['title'] : titre de l'application.
 +
*setup['NomApplication']['version'] : version de l'application.
 +
*setup['NomApplication']['app_order'] : position de l'application dans la barre de menu.
 +
*setup['NomApplication']['enable'] : '1' permet de spécifier que l'application doit être active, '0' permet de spécifier que l'application ne doit pas être active.
 +
*setup['NomApplication']['author'] : nom de l'auteur de l'application.
 +
*setup['NomApplication']['licence'] : la licence sous laquelle est l'application (par exemple GPL).
 +
*setup['NomApplication']['description'] : description de l'application.
 +
*setup['NomApplication']['maintener'] : nom du développeur qui maintient l'application.
 +
*setup['NomApplication']['maintener_email'] : adresse mail du développeur qui maintient l'application.
 +
 +
*setup['NomApplication']['tables'] : tabeau contenant les noms des tables devant être créées dans la base de données (par exemple : array(egw_table1,egw_tables2)).
 +
 +
*setup['NomApplication']['hooks'][] : nom de la classe définissant les menu (par exemple pour hook.nomMenu.inc.php mettre nomMenu).
 +
*setup['NomApplication']['hooks']['settings'] : chemin vers la définition des préférences NomApplication.NomClassePreference.fonctionPreference (Voir le chapitre concerné pour plus de détails)
  
 
== Définir les tables devant être intégrées à la base de données ==
 
== Définir les tables devant être intégrées à la base de données ==

Version du 2 juillet 2007 à 12:30

L'arborescence d'une application

Une application eGroupWare doit suivre une arborescence particulière :

  • NomApplication (rep)
    • index.php (fic)
    • setup (rep)
      • setup.inc.php (fic)
      • tables_current.inc.php (fic)
      • phpgw_??.lang (fic)
    • inc (rep)
      • class.????.inc.php (fic)
      • hook.????.inc.php (fic)
    • templates (rep)
      • default (rep)
        • ????.tpl (fic)
        • app.css (fic)
        • images (rep)
          • navbar.png (fic)

Le répertoire setup contient :

  • setup.inc.php : fichier permettant de définir les paramètres utilisés lors de l'installation de l'application.
  • tables_current.inc.php : fichier contenant la définition des tables devant être ajoutées à la base de données.
  • phpgw_??.lang : fichier contenant les traductions. ?? = en pour anglais, fr pour français.

Le répertoire inc contient :

  • class.???.inc.php : fichier contenant le code de l'application. Les noms doivent être définis comme suit :
    • class.uiNomApplication.inc.php : contient le code gérant l'interface avec l'utilisateur.
    • class.boNomApplication.inc.php : contient le code qui traite les données provenant de la base de données.
    • class.soNomApplication.inc.php : contient le code communiquant avec la base de données.
  • hook.???.inc.php : fichier contenant le code des divers menus (préférences, administration, configuration, ...)

Le répertoire templates contient divers répertoires correspondant aux styles d'affichage utilisés. Le répertoire par défaut se nomme default et est composé de :

  • ???.tpl : fichier contenant un template d'affichage.
  • app.css : fichier contenant la css utilisée
  • un répertoire images contient les images utilisées dans l'application. L'icône devant être affichée dans la barre des applications doit se nommer navbar.png.

Le fichier de configuration

La création d'une application commence par la définition du fichier de configuration. Ce fichier doit s'appeler setup.inc.php et doit se trouver dans le répertoire setup de l'application. Il s'agit alors de compléter les champs du tableau setup définissant les paramètres de l'application.

  • setup['NomApplication']['name'] : nom de l'application.
  • setup['NomApplication']['title'] : titre de l'application.
  • setup['NomApplication']['version'] : version de l'application.
  • setup['NomApplication']['app_order'] : position de l'application dans la barre de menu.
  • setup['NomApplication']['enable'] : '1' permet de spécifier que l'application doit être active, '0' permet de spécifier que l'application ne doit pas être active.
  • setup['NomApplication']['author'] : nom de l'auteur de l'application.
  • setup['NomApplication']['licence'] : la licence sous laquelle est l'application (par exemple GPL).
  • setup['NomApplication']['description'] : description de l'application.
  • setup['NomApplication']['maintener'] : nom du développeur qui maintient l'application.
  • setup['NomApplication']['maintener_email'] : adresse mail du développeur qui maintient l'application.
  • setup['NomApplication']['tables'] : tabeau contenant les noms des tables devant être créées dans la base de données (par exemple : array(egw_table1,egw_tables2)).
  • setup['NomApplication']['hooks'][] : nom de la classe définissant les menu (par exemple pour hook.nomMenu.inc.php mettre nomMenu).
  • setup['NomApplication']['hooks']['settings'] : chemin vers la définition des préférences NomApplication.NomClassePreference.fonctionPreference (Voir le chapitre concerné pour plus de détails)

Définir les tables devant être intégrées à la base de données

Construire la colonne des menus

Construire une page de configuration des préférences

Utiliser des templates simples

Communiquer avec la base de données

Internationaliser l'application