====== Les notions de base (Widget, Objet, Template...) ====== ===== Widget ===== Un **composant graphique** est une interface homme machine (IHM) dans lequel un utilisateur peut réaliser ou non une ou plusieurs actions. PXXO permet exclusivement de créer des composants graphiques. Ceux-ci sont appelés Widgets. ===== Objet ===== PXXO utilise la Programmation Orienté Objet, ainsi un Widget est un objet. Un objet est défini par une classe. Les méthodes publiques de cette classe correspondent aux **actions** du Widget. Les variables publiques de la classe correspondent aux **données** affichées par le Widget. Par convention, les variables privées commencent par le caractère _. Exemple: private $_mavariable; ===== Action ===== Une action (ou "mode") d'un widget correspond à un état de ce widget. Dans cet état on peut effectuer un **traitement** puis générer une interface. Cette interface est définie dans un template HTML. Dans Pxxo le mode par défaut est le mode "index". En Programmation Orientée Objet, un mode se traduit par une méthode publique (càd une fonction php). ===== Template ===== Un template (ou squelette, ou modèle, ou encore gabarit) est un fichier contenant le code HTML qui servira à produire une interface. A chaque méthode publique de la classe (donc à chaque action du widget) est associée un seul et **unique** fichier de template HTML. Les templates accèdent uniquement aux variables publiques de la classe. Les templates ne possèdent pas leur propre langage de programmation, ce sont de **simples fichiers PHP**. ===== Ressources ===== Les widgets possèdent ou non des ressources. Une ressource est un **fichier externe, annexé** au template HTML, mais nécessaire pour produire une interface. Dans le contexte Web, une ressource peut être une image, un fichier CSS (définition des couleurs, des polices, etc.) et même un fichier Javascript. Lien : [[fr:doc:pxxo:reference:resources| Comment utiliser les ressources d'un Widget?]] ===== Thèmes ===== Pxxo permet de séparer très clairement le code entre : - les traitements (ensemble d'actions réalisées par le widget) - l'interface graphique Il devient possible pour un même widget d'avoir plusieurs interfaces différentes. Ces **looks différents** sont appelés des thèmes.