Couche application
Maintenant que nous avons vu comment le client envoie les requêtes au client, nous allons voir comment celui-ci les réceptionne, les traite et renvoie leur résultat.
Cette partie est assurée par un serveur Web (nous conseillons Apache) et l'interpréteur de code PHP.
Réception de la requête
Le serveur Web scrute le réseau et plus particulièrement certains ports, comme le port 80 qui est celui utilisé par défaut. Dès qu'il détecte une requête HTTP entrante, il prend la main et s'occupe de son traitement. Il est configuré pour appeler l'interpréteur PHP lorsqu'on lui demande une page de ce type. L'interpréteur PHP entre maintenant en jeu et lit le code et l'interprète à mesure, après avoir globalement vérifié qu'il n'y avait pas d'erreur de syntaxe. Celui-ci exécute le code de la page et renvoie son résultat.
Le code de la page demandée est en fait celui de PHPBoost.
Traitement de la requête
C'est là que PHPBoost joue vraiment son rôle. En fonction des paramètres qu'il reçoit il va exécuter différentes actions de façon à satisfaire le besoin du client.
Comme on l'a vu précédemment, PHPBoost utilise des templates pour l'interface, c'est cette couche qui va dire quelle valeur il faut mettre à chaque balise qui marque les emplacements des différentes variables.
Nous allons maintenant décomposer PHPBoost en différentes parties.
Le noyau
Le noyau est l'organe central du site. Ses principales fonctions sont :
- Gèrer la configuration du site (nom, adresse, configuration du serveur et de la base de données)
- Gérer l'environnement global (langues, thèmes, organisation des menus, modules)
- Gérer l'espace membres. Il s'occupe de l'authentification des autorisations des utilisateurs, il procure un système de messagerie privée entre les utilisateurs. Il gère aussi les fichiers de chaque utilisateur, ainsi que les contributions de chaque utilisateur dans les différents modules, avec une interface d'approbation de chaque contribution.
Plus généralement, tout le panneau d'administration à l'exception des panneaux d'administration des modules est géré par le noyau.
Le framework
Le noyau contient le framework de PHPBoost, qu'il utilise d'ailleurs lui-même, notamment dans les interfaces de configuration. Le framework est aussi et surtout destiné aux développeurs de modules.
Un framework (espace de travail en anglais) est un ensemble de fonctions que l'on peut utiliser et qui gère les traitements qui sont assez courants de façon à éviter de multiplier les lignes de code et comme on dit de ne pas réinventer la roue à chaque fois. On a donc juste à appeler certaines fonctions du framework et celui-ci les traite sans qu'on sache forcément quand on l'utilise comment il fonctionne. On peut donc voir le framework comme une sous couche de cette couche application.
Il assiste et centralise les traitements courants dont voici quelques exemples :
- Système de gestion de commentaires, de notation
- Editeurs et interpréteurs de mise en page du contenu
- Système de gestion de catégories infinies
- Gestionnaire de flux (RSS par exemple), de plan du site
- Interfaces de communication avec le noyau et les autres modules (exemple : recherche dans tous les modules)
- Gestion des fichiers (lecture, écriture)
- Moteur de templates pour permettre de faire la liaison entre fond et forme (voir couche présentation)
- Différents outils pratiques au développement
Les modules
PHPBoost peut tourner sans aucun module. Certes cela serait d'un intérêt très limité, mais cela découle d'un principe qui est fondamental : le noyau est indépendant des modules et les modules sont indépendants entre eux.
Ainsi, chaque utilisateur pourra installer seulement les modules dont il aura besoin. Un site communautaire utilisera des modules sujets à la contribution des utilisateurs (forum, wiki, discussion...) alors qu'un site de publication se concentrera beaucoup plus sur les modules de gestion de contenu (pages, galerie...).
Les modules étant indépendants, il est possible d'ajouter ou de supprimer des modules. D'ailleurs les programmeurs apprécieront certainement le fait de pouvoir développer leur propre module et l'intégrer assez simplement au noyau, en utilisant notamment le framework.
Bien que les modules soient indépendants, une des nouveautés de la version 2.1 est qu'il est tout de même possible de les faire communiquer entre eux. Prenons par exemple la recherche. Le nouveau module de recherche permet d'effectuer une recherche dans tous les modules qui proposent cette fonctionnalité. Il suffit que le module signale qu'il sait donner suite à une telle demande. Cette communication permet de supprimer tous les défauts de l'indépendance des modules et donc d'apporter une totale liberté dans le développement et l'intégration de modules au sein de PHPBoost.
En savoir plus
- PHP sur Wikipédia
- PHP : site officiel
- Apache HTTP Server, le serveur Web le plus connu
- Modules PHPBoost
- Développement sur PHPBoost
« Page précédente
Couche client
Couche client
Page suivante »
Couche base de données
Couche base de données
Ecrit par: ben.popeye, Le: 02/08/08




PHPBoost

Support
Téléchargements
Développement
Communauté


