Retour : page principale > sommaire applications générales > Documentation TBFramework

Arborescence par défaut simple d'une interface web utilisant le TBFramework


Arborescence de mon_application


  • * bibliotheque : contient les fichiers de codes php (pas de html, css, ou js)
  • * configurations : contient les diffĂ©rents fichiers de configurations en fonction du contexte
    • * config.ini : fichier par dĂ©faut de l'application qui est chargĂ© quoi qu'il arrive et qui va Ă©craser les paramètres de config dĂ©finis dans le config.ini du TBFramework.
    • * config_papyrus.ini : fichier chargĂ© dans un contexte Papyrus. Ecrase les paramètres dĂ©finis dans config.ini.
    • * config_cli.ini : fichier chargĂ© dans un contexte d'execution de PHP en ligne de commande (CLI).
  • * controleurs : contient les fichiers contrĂ´leurs de l'application, c'est eux qui appelle les classes mĂ©tiers ( = modèles) et les squelettes.
    • * AppControleur.php contrĂ´leur de base d'une application, rĂ©partit automatiquement les demandes dans les modules et appelle les fonctions suivant ce qui est passĂ© dans l'url.
    • * aControleur.php controleur abstrait dont hĂ©ritent les controleurs de l'application, peut contenir des mĂ©thodes utilitaires statiques utilisables partout dans l'appli (notamment pour la gĂ©nĂ©ration des urls).
  • * i18n : contient des fichiers ini pour chaque langue dans laquelle les paramètres gĂ©nĂ©raux de l'appli ont Ă©tĂ© traduits
  • * modeles : contient les classes mĂ©tiers permettant l'accès aux donnĂ©es (d'une base de donnĂ©es, de services web...) de l'application.
    • * MaClasseMetierDao.php : deux solutions :
      • soit la classe hĂ©rite de la classe RestClient du TBF. Cette dernière contient les mĂ©thodes nĂ©cessaires pour effectuer des requĂŞtes HTTP et en rĂ©cupĂ©rer le contenu. Cette architecture est prĂ©fĂ©rable Ă  l'utilisation de modèles interrogeant directement les bases donnĂ©es car ceci force l'indĂ©pendance entre la couche modèle et les couches vues et contrĂ´leurs, et permet la rĂ©utilisation des webs services (pour la partie serveur REST / modèle, voir la section Arborescence de services web REST).
      • soit la classe utilise directement la classe Bdd du TBF. Cette dernière contient les mĂ©thodes nĂ©cessaires pour se connecter et rĂ©aliser des requĂŞtes dans une base de donnĂ©es.
  • * presentations : les fichiers pour la partie prĂ©sentation de l'interface : styles, images, scripts et squelettes.
    • * images : contient les images utilisĂ©es par l'application et les squelettes.
    • * styles : contient les fichiers de styles (CSS) spĂ©cifiques Ă  l'application.
    • * scripts : contient les bibliothèques Javascript et les script Javascript de l'application.
    • * squelettes : les fichiers squelettes PHP (= HTML contenant du PHP imbriquĂ© avec l'utilisation de la syntaxe altenative PHP) de l'application.
  • * framework.defaut.php : est un fichier Ă  commiter dans le SVN. Il doit ĂŞtre renommĂ© sans le ".defaut" pour ĂŞtre utilisĂ© en fonction de l'installation courante.
  • * framework.php : contient le chemin vers le framework en fonction de l'installation courante. Correspond au fichier framework.defaut.php renommĂ©.
  • * mon_appli.php : contient l'initialisation de l'application et l'appel au controleur principal.
  • * mon_appli_papyrus.php : contient l'initialisation de l'application, permettant de l'appeler Ă  travers papyrus en ayant enregistrĂ© l'application.
  • * index.php : fichier permettant d'appeler l'application en "stand alone" dans une page Ă  part.

Placer le contenu dans le squelette d'une page


Les controleurs héritant de la classe aControleur disposent de la méthode setSortie(emplacement, contenu) qui permet de placer un contenu généré par l'application à un endroit donné grâce à des constantes suivantes :
  • self::RENDU_TETE
  • self::RENDU_NAVIGATION
  • self::RENDU_CORPS
  • self::RENDU_PIED
  • self::META_TITRE
  • self::META_DESCRIPTION
  • self::META_TAGS

L'appel aux fonctions suivantes restitue le contenu enregistré grâce à setSortie:
  • AppControleur::getMetaTitre();
  • AppControleur::getMetaDescription();
  • AppControleur::getMetaTags();
  • AppControleur::getContenuNavigation();
  • AppControleur::getContenuTete();
  • AppControleur::getContenuCorps();
  • AppControleur::getContenuPied();

Le développeur peut éventuellement faire appel à des fonctions particulières dont le contenu est rempli automatiquement :
  • AppControleur::getChrono() qui affiche le temps d'Ă©xĂ©cution de l'application
  • AppControleur::getExceptions() qui affiche les erreurs gĂ©nĂ©rĂ©es par l'application

Ces dernières méthodes sont à utiliser au sein du squelette PHP principale de l'application (généralement le fichier index.php).

Afficher le contenu dans une page du CMS Papyrus

Pour placer le contenu dans une page du CMS Papyrus, il suffit de redéfinir les fonction d'affichage de papyrus : afficherContenuCorps, afficherContenuTete, etc...
Voir l'exemple de fichier principal d'une application pour Papyrus

Afficher le contenu dans une application stand alone

Il suffit de placer les appels au fonction de restitution du contenu dans le squelette PHP index.php.
Voir l'exemple de fichier principal d'une application stand alone