Outils pour utilisateurs

Outils du site


Panneau latéral

devguide:begin:architecture

Arborescence et architecture globale

Arborescence d'un projet

Arborescence RBSChange

Nous allons voir ici les principaux fichiers et dossiers que l'on retrouve dans l'arborescence d'un projet Change et en détailler le rôle et le type de leur contenu. Nous ne détaillerons pas les liens symboliques, cependant leur présence est requise au bon fonctionnement de RBSChange.

  • bin : Contient les scripts d'exécution et les binaires dont le système pourrait avoir besoin
  • build : Contient tous les fichiers construits (configuration, classes injectées…) dans l'état optimisé pour leur utilisation par PHP
  • cache : Contient tous les caches de type fichiers générés par RBSChange (datas, HTML…)
  • changeicons : Contient toutes les icônes importées par les modules
  • config : Contient les fichiers de configuration de RBSChange
  • installedpatch : Contient les références des patchs de code exécutés sur le projet de sorte à garantir qu'il n'aient été exécuté qu'une seule fois sur le code
  • libs : Contient les bibliothèques externes
  • log : Contient les fichiers de log générés par RBSChange, ce qui peut être utile pour comprendre pourquoi est ce que l'on a certaines erreurs, les requêtes SQL…
  • mailbox : Utilisé par le module emailing lorsqu'ils sont en instance d'envoi.
  • media : Contient les fichiers stockés dans la médiathèque de RBSChange
  • modules : Contient les modules utilisés par le projet. Dans le cas de l'utilisation des module standards, le dossier peut ne contenir que des liens symboliques. Lorsque l'on souhaite développer un module, c'est dans ce dossier qu'il faut le faire.
  • override : Peut contenir un dossier modules définissant l'arborescence du dossier de niveau supérieur, permettant de redéfinir par exemple les templates d'un bloc standard pour personnaliser un affichage standard…
  • pear : Contient toutes les librairies PEAR utilisées par RBSChange
  • repository : Contient tout le code source standard propre à RBSChange dans le contexte du projet
  • securemedia : Contient tous les médias déclarés comme sécurisés dans RBSChange. Ces médias ne sont accessibles que sous certaines conditions définies côté PHP dans une stratégie de sécurisation
  • themes : Contient les thèmes disponibles pour le projet (un dossier par thème)
  • change.properties : Fichier de configuration, définissant les propriétés minimales telle que les dépôts de code source distant, leur emplacement en local…
  • change.xml : Ce fichier contient la liste et les versions de chacun des composants standards utilisés par RBSChange.
  • changecron.php : Ce script permet de lancer les tâches planifiées dans RBSChange
  • changescriptexec.php : Ce script est appelé lorsqu'une commande exécute un traitement par lot pour garantir une exécution fragmentée
  • index.php : Point d'entrée pour les navigateurs
  • profile : Ce fichier ne contient qu'une indication permettant de spécifier quel fichier de configuration va être utilisé par l'instance
  • sessionKeepAlive.php : Script permettant d'empêcher l'expiration de la session back office
  • site-disabled.php : Ce script permet de personnaliser la page rendue lorsque le site est passée en maintenance
  • xchrome_controller.php : Point d'entrée du back office pour l'extension Firefox
  • xul_controller.php : Point d'entrée du back office pour l'extension Firefox
  • .computedChangeComponents.ser : Fichier de cache

Architecture globale

RBSChange est basé sur une architecture 3 tiers :

  • la couche « MVC » (Model-View-Controller) qui est chargée de traiter les requêtes HTTP reçues par l'applications
  • la couche « Services » qui aide à l'implémentation de la logique de fonctionnement des applications web construites avec le framework RBSChange
  • la couche « ORM » qui par l’intermédiaire d’objets PHP abstraits les interactions avec la base de données et assure la traduction des requêtes de manière indépendante du SGBD utilisé.
devguide/begin/architecture.txt · Dernière modification: 2017/01/19 14:54 (modification externe)