<?xml version="1.0" encoding="UTF-8" ?>
<!-- RSS generated by PHPBoost on Mon, 13 Apr 2026 13:32:12 +0200 -->
<rss version="2.0" xmlns:atom="https://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Wiki]]></title>
		<atom:link href="https://www.phpboost.com/syndication/rss/wiki/1" rel="self" type="application/rss+xml"/>
		<link>https://www.phpboost.com</link>
		<description><![CDATA[Derniers articles de la catégorie I. Présentation de PHPBoost]]></description>
		<copyright>(C) 2005-2026 PHPBoost</copyright>
		<language>fr</language>
		<generator>PHPBoost</generator>
		
            <item>
                <title><![CDATA[I. Présentation de PHPBoost]]></title>
                <link>https://www.phpboost.com/wiki/presentation-de-phpboost</link>
                <guid>https://www.phpboost.com/wiki/presentation-de-phpboost</guid>
                <description><![CDATA[<h2 class="formatter-title wiki-paragraph-2" id="paragraph-presentation-generale">Présentation générale</h2><br />

<p style="text-align: left;"><img src="https://www.phpboost.com/templates/phpboost60/theme/images/logo-90.png" alt="logo-90" /></p> PHPBoost est un CMS (<em>Content Managing System</em> ou <em>système de gestion de contenu</em>) <strong>français</strong>. C'est un <a href="https://fr.wikipedia.org/wiki/logiciel libre" class="wikipedia-link offload">logiciel libre</a> distribué sous la licence <a href="https://fr.wikipedia.org/wiki/GNU/GPL" class="wikipedia-link offload">GNU/GPL</a>. Il permet à n'importe qui de créer son site de façon très simple, tout est assisté. Conçu pour satisfaire les débutants, il devrait également ravir les utilisateurs expérimentés qui souhaiteraient pousser son fonctionnement ou encore développer leurs propres modules.<br />
<br />
Comme son nom l'indique, PHPBoost utilise le <a href="https://fr.wikipedia.org/wiki/PHP" class="wikipedia-link offload">PHP</a> comme langage de programmation principal, mais aussi, comme toute application Web, le <a href="https://fr.wikipedia.org/wiki/HTML" class="wikipedia-link offload">HTML</a> et les CSS (<a href="https://fr.wikipedia.org/wiki/Feuilles de style en cascade" class="wikipedia-link offload">Feuilles de style en cascade</a>) pour la mise en forme des pages, le <a href="https://fr.wikipedia.org/wiki/Javascript" class="wikipedia-link offload">Javascript</a> pour ajouter une touche dynamique sur celles-ci, ainsi que du SQL (<a href="https://fr.wikipedia.org/wiki/Structured Query Language" class="wikipedia-link offload">Structured Query Language</a>) pour effectuer des opérations dans la base de données. Il s'installe sur un serveur Web et se paramètre à distance.<br />
<br />
Comme pour une grande majorité de logiciels libres, la communauté de PHPBoost permet d'avoir une grande fiabilité. Beaucoup d'utilisateurs ont testé chaque version et les ont ainsi approuvées. Il bénéficie par ailleurs d'une évolution rapide, ainsi nous essayons d'être le plus possible à l'écoute des commentaires et des propositions de chacun. Même si tout le monde ne participe pas à son développement, beaucoup de personnes nous ont aidés, rien qu'en nous donnant des idées, en nous suggérant des modifications ou encore des fonctionnalités supplémentaires. PHPBoost est donc fait à l'image de ses utilisateurs.<br />
<br />
Si vous ne deviez retenir que quelques points essentiels sur le projet, ce seraient ceux-ci :<br />
<ul class="formatter-ul">
<li class="formatter-li"> Projet Open Source sous licence <a href="https://fr.wikipedia.org/wiki/GNU/GPL" class="wikipedia-link offload">GNU/GPL</a>
</li><li class="formatter-li"> Code XHTML 1.0 strict et sémantique
</li><li class="formatter-li"> Multilingue
</li><li class="formatter-li"> Facilement personnalisable grâce aux différents thèmes et templates
</li><li class="formatter-li"> Gestion poussée d'édition des membres (ajouts/suppressions de champs, restrictions, ...)
</li><li class="formatter-li"> Gestion fine des droits et des groupes pour chaque utilisateur
</li><li class="formatter-li"> URL Rewriting
</li><li class="formatter-li"> Installation et mise à jour automatisées des modules et du noyau
</li><li class="formatter-li"> Aide au développement de nouveaux modules grâce au Framework de PHPBoost
</li><li class="formatter-li"> Installation et gestion du CMS en ligne de commande possible<br />
</li></ul><br />
Pour en savoir plus concernant les différentes fonctionnalités, vous pouvez <a class="offload" href="http://demo.phpboost.com">tester la dernière version de PHPBoost</a> ou vous référer à cet <a class="offload" href="https://www.phpboost.com/pages/0-root/57-fonctionnalites-de-phpboost/">article</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-historique">Historique</h2><br />

Le projet PHPBoost a été envisagé début juin 2005 et son développement a débuté quelques semaines plus tard, le 17 juin 2005 pour être précis. Courant 2011, les fondateurs originaires de PHPBoost ont décidés de céder leurs places. C'est alors <em>ReidLos</em> qui reprend les rennes du projet, suivi par toute une équipe soudée et prête à sortir la 4.0 prévue pour début 2013, puis par <em>j1.seth</em> en 2018 pour la 5.1. Notre CMS a déjà plus de quinze ans et dispose ainsi d'une certaine maturité.<br />
<br />
Voici ensuite la liste des différentes versions qui ont été développées depuis sa sortie :<br />
<ul class="formatter-ul">
<li class="formatter-li"> Novembre 2005 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-1-3-1">PHPBoost 1.3.1</a> - <strong>Première version publique</strong>
</li><li class="formatter-li"> Janvier 2006 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-1-4-0">PHPBoost 1.4.0</a>
</li><li class="formatter-li"> Mars 2006 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-1-4-1">PHPBoost 1.4.1</a>
</li><li class="formatter-li"> Juin 2006 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-1-5-0">PHPBoost 1.5.0</a>
</li><li class="formatter-li"> Septembre 2006 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-1-6-0">PHPBoost 1.6.0</a>
</li><li class="formatter-li"> Novembre 2007 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-2-0">PHPBoost 2.0</a>
</li><li class="formatter-li"> Juillet 2009 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-3-0">PHPBoost 3.0</a>
</li><li class="formatter-li"> Janvier 2013 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-4-0">PHPBoost 4.0</a>
</li><li class="formatter-li"> Juillet 2014 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-4-1">PHPBoost 4.1</a>
</li><li class="formatter-li"> Février 2016 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-5-0">PHPBoost 5.0</a>
</li><li class="formatter-li"> Juillet 2017 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-5-1">PHPBoost 5.1</a>
</li><li class="formatter-li"> Janvier 2019 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-5-2">PHPBoost 5.2</a> - <strong>Version supportée</strong>
</li><li class="formatter-li"> Avril 2023 : <a class="offload" href="https://www.phpboost.com/wiki/phpboost-6-0">PHPBoost 6.0</a> - <strong>Version courante
</li><li class="formatter-li"> Septembre 2019 : PHPBoost 6.0 - [b]Version en développement</strong><br />
</li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-organisation-de-la-communaute-francaise">Organisation de la communauté française</h2><br />

PHPBoost étant un logiciel français, la communauté française est la plus développée. Elle est dirigée par le chef de projet et comporte plusieurs équipes qui se partagent les rôles afin d'assurer la continuité du développement de PHPBoost.<br />
Le support du logiciel est géré par les différentes équipes en s'effectuant sur le <strong> <a class="offload" href="https://www.phpboost.com/forum/"><em>forum</em></a></strong>.<br />
<br />
Voyons maintenant les différentes équipes travaillant sur PHPBoost :<br />
<br />
<table class="table formatter-table">
<tr class="formatter-table-row">
<td class="formatter-table-head">Équipe</td>
<td class="formatter-table-head">Objectifs</td></tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/user/groups/1"><img src="https://www.phpboost.com/images/group/chef.png" alt="chef" /></a></td>
<td class="formatter-table-col"><ul class="formatter-ul">
<li class="formatter-li"> Gestion du projet (prise de décisions, ...)
</li><li class="formatter-li"> Coordination des équipes
</li><li class="formatter-li"> Direction de la communauté française<br />
</li></ul></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/user/groups/6"><img src="https://www.phpboost.com/images/group/dev.png" alt="dev" /></a></td>
<td class="formatter-table-col"><ul class="formatter-ul">
<li class="formatter-li"> Développement du framework et de nouveaux modules
</li><li class="formatter-li"> Mise à jour des modules déjà existants
</li><li class="formatter-li"> Rédaction de la documentation de développement<br />
</li></ul></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/user/groups/7"><img src="https://www.phpboost.com/images/group/redac.png" alt="redac" /></a></td>
<td class="formatter-table-col"><ul class="formatter-ul">
<li class="formatter-li"> Rédaction de la documentation sur l'ensemble des aspects de PHPBoost
</li><li class="formatter-li"> Aide aux utilisateurs<br />
</li></ul></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/user/groups/5"><img src="https://www.phpboost.com/images/group/trad.png" alt="trad" /></a></td>
<td class="formatter-table-col"><ul class="formatter-ul">
<li class="formatter-li">Traduction du  logiciel dans différentes langues étrangères
</li><li class="formatter-li"> Création et développement des communautés dans chaque pays<br />
</li></ul></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/user/groups/4"><img src="https://www.phpboost.com/images/group/graph.png" alt="graph" /></a></td>
<td class="formatter-table-col"><ul class="formatter-ul">
<li class="formatter-li"> Création de thèmes pour PHPBoost (à la demande d'utilisateurs ou selon leurs propres idées)
</li><li class="formatter-li"> Aide aux utilisateurs désirant créer leur thème
</li><li class="formatter-li"> Rédaction de la partie graphisme de la documentation<br />
</li></ul></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/user/groups/13"><img src="https://www.phpboost.com/images/group/modo.png" alt="modo" /></a></td>
<td class="formatter-table-col"><ul class="formatter-ul">
<li class="formatter-li"> Gestion du forum (règles d'utilisation, ...)
</li><li class="formatter-li"> Aide aux utilisateurs de PHPBoost
</li><li class="formatter-li"> Gestion des sanctions et avertissements<br />
</li></ul></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/user/groups/16"><img src="https://www.phpboost.com/images/group/com.png" alt="com" /></a></td>
<td class="formatter-table-col"><ul class="formatter-ul">
<li class="formatter-li"> Diffusion  des news de PHPBoost sur le site
</li><li class="formatter-li"> Promotion de PHPBoost à l&#8217;extérieur (sites, forums, ...)
</li><li class="formatter-li"> Gestion des règles d'utilisation du forum en coopération avec l'équipe Modération<br />
</li></ul></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/user/groups/15"><img src="https://www.phpboost.com/images/group/vip.png" alt="vip" /></a></td>
<td class="formatter-table-col"><ul class="formatter-ul">
<li class="formatter-li"> Anciens chefs de projet et créateurs de PHPBoost.
</li><li class="formatter-li"> Sans leur fabuleux travail nous n'en serions jamais là !
</li><li class="formatter-li"> Nous les remercions !<br />
</li></ul></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/user/groups/18"><img src="https://www.phpboost.com/images/group/assist.png" alt="assist" /></a></td>
<td class="formatter-table-col"><ul class="formatter-ul">
<li class="formatter-li"> Aide de la communauté
</li><li class="formatter-li"> Modération du forum de support<br />
</li></ul></td>
</tr>
</table><br />
L'équipe est toujours en recherche de nouveaux éléments. Pour en savoir plus, dirigez vous <a class="offload" href="https://www.phpboost.com/pages/phpboost-recrute">ici</a>.<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-ressources-utilisees">Ressources utilisées</h2><br />

Vous pourrez retrouver ici la liste des projets et/ou Logiciels Libres que nous avons utilisé dans PHPBoost. Merci à toutes les personnes qui s'investissent dans ces différents projets et nous fournissent des outils de qualité, sur lesquels nous pouvons nous appuyer pour proposer à notre tour notre projet.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="https://notepad-plus.sourceforge.net/">Notepad ++</a></h4><br />
Notepad ++ est un éditeur libre. PHPBoost a été écrit entièrement grâce à ce magnifique éditeur très performant et intuitif. Merci à son équipe de développement.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="https://fontawesome.com">Librairie Font-Awesome</a></h4><br />
La librairie Font-Awesome est un projet d'icônes vectorielles évolutives qui peuvent instantanément être personnalisés en taille, couleur, ombre et tout ce qui peut être fait en CSS. L'utilisation des icônes vectorielles a permis de réduire la quantité d'image nécessaire sur PHPBoost.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="https://l-lin.github.io/font-awesome-animation/">Librairie Font-Awesome-Animation</a></h4><br />
La librairie Font-Awesome-Animation est un projet basé sur la librairie Font-Awesome. Elle permet d'ajouter un certain nombre d'animation les icônes.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="https://www.eclipse.org/"> Eclipse PDT</a></h4><br />
Eclipse est un projet visant à développer tout un environnement de développement libre, extensible et polyvalent. Son objectif est de produire et fournir divers outils gravitant autour de la réalisation de logiciel, englobant les activités de codage logiciel, de modélisation, de conception, etc.<br />
PHPBoost utilise "IDE PHP" (outil de développement PHP) basé sur Eclipse.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="https://www.tiny.cloud/"> TinyMCE</a></h4><br />
TinyMCE est un éditeur HTML WYSIWYG (What You See Is What You Get) développé en JavaScript.<br />
Cet éditeur transforme un champ de formulaire web en une zone d'édition dotée d'une barre d'icônes. Cette zone peut ensuite être utilisée comme un traitement de texte pour produire du code HTML sans en connaître la syntaxe.<br />
<br />
<h4 class="formatter-title">PCLZIP</h4><br />
Développé par PHPConcept, PCLZIP est une librairie permettant de travailler sur des archives au format Zip en PHP. Elle est utilisée à plusieurs reprises dans PHPBoost.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="https://qbnz.com/highlighter/"> GeSHi</a></h4><br />
GeSHi (Generic Syntax Highlighter) est un script PHP qui permet de colorer syntaxiquement de nombreux langages informatiques.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="https://jquery.com"> jQuery</a></h4><br />
jQuery est une bibliothèque (ou Framework) JavaScript et AJAX offrant des effets visuels dynamiques et des éléments d'interface utilisateur.<br />
<br />
<h4 class="formatter-title">PHPMathPublisher</h4><br />
PHPMathPublisher est un ensemble de fonctions permettant de mettre en forme des formules mathématiques à partir d'une syntaxe proche de celle du <a class="offload" href="http://fr.wikipedia.org/wiki/LaTeX">LaTeX</a>.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="https://github.com/cbopp-art/lightcase">Lightcase.js </a></h4><br />
Lightbox responsive.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="https://github.com/cssmenumaker/jQuery-Plugin-Responsive-Drop-Down">CssMenuMaker.js </a></h4><br />
Librairie permettant de créer des menus en responsive pour qu'ils s'adaptent à n'importe quel support.<br />
<br />
<h4 class="formatter-title"><a class="offload" href="http://www.jerrylow.com/basictable">BasicTable.js </a></h4><br />
Librairie permettant de créer des tableaux en responsive pour qu'ils s'adaptent à n'importe quel support.]]></description>
                <pubDate>Wed, 11 Oct 2023 05:40:29 +0200</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[Architecture technique de PHPBoost]]></title>
                <link>https://www.phpboost.com/wiki/architecture-technique-de-phpboost</link>
                <guid>https://www.phpboost.com/wiki/architecture-technique-de-phpboost</guid>
                <description><![CDATA[<h2 class="formatter-title wiki-paragraph-2" id="paragraph-introduction">Introduction</h2><br />

Comme toute application Web, PHPBoost est naturellement structuré en deux principales couches, le Web étant basé sur le modèle client-serveur. En effet sur une telle application intervient un traitement côté serveur (générateur de page) et un traitement côté client (navigateur web). On distingue donc aisément deux niveaux. En allant plus loin, ce que nous ferons dans la suite, nous verrons qu'en réalité le traitement côté serveur se décompose lui-même en plusieurs couches. Nous aboutirons à une architecture n tiers (en anglais), à comprendre au sens de n étages ou n couches.<br />
<br />
Dans ce dossier nous allons voir dans un premier temps les notions nécessaires pour comprendre le découpage en couches et ensuite détailler les couches les unes après les autres en partant de celle qu'on voit, c'est-à-dire l'interface graphique (donc les pages sur lesquelles on navigue) jusqu'à la couche la plus basse qui est le stockage des données (et donc le Système de Gestion de Base de Données ou SGBD).<br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-architecture-generale">Architecture générale</h2><br />

<h3 class="formatter-title wiki-paragraph-3" id="paragraph-definition-d-une-couche">Définition d'une couche</h3><br />

<span class="message-helper bgc question">Concrètement, qu'est-ce qu'une couche ?<br />
<br />
Une couche est une interface d'abstraction d'un niveau plus bas. Par exemple, le navigateur envoie une requête HTTP au serveur sans se préoccuper de la façon dont le serveur va la traiter. Le serveur peut-être considéré comme une boîte noire, dans la mesure où si on lui donne les bonnes entrées (en l'occurrence une requête HTTP), ils nous fournira la sortie (la page) sans qu'on ait besoin de savoir comment il procède pour ce faire.</span><br />
<br />
Le schéma suivant explique ce qu'est une couche et comment elle peut communiquer avec les autres.<br />
<br />
<p style="text-align: center;"><img src="https://www.phpboost.com/upload/schema_explication_couches.png" alt="schema_explication_couches" /></p><br />
<br />
<span class="message-helper bgc notice">Les couches sont "empilées" les unes sur les autres. Pour garder une hiérarchie et une totale indépendance, chaque couche doit faire appel <strong>seulement à ses couches inférieures</strong>. En effet si elle dépend de ses couches supérieures on perd tout l'intérêt de découper l'application en couches.</span><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-les-differentes-couches-presentes-dans-phpboost">Les différentes couches présentes dans PHPBoost</h3><br />

En découpant grossièrement on dégage simplement 3 principales couches, qui elles-mêmes sont éventuellement composées de plusieurs sous couches.<br />
<br />
Ces trois principales couches sont les suivantes :<br />
<br />
<ul class="formatter-ul">
<li class="formatter-li"> La couche présentation : l'interface homme utilisateur
</li><li class="formatter-li"> La couche application : le coeur de PHPBoost
</li><li class="formatter-li"> La couche stockage des données : la base de données<br />
</li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-couche-client">Couche client</h2><br />

La couche client (ou présentation) est la seule que l'utilisateur voit vraiment. En effet, il s'agit de l'interface, appelée en informatique Interface Homme Machine (IHM), grâce à laquelle l'utilisateur peut manipuler l'application.<br />
<br />
Elle est exécutée par le client (navigateur web de l'utilisateur).<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-comment-l-utilisateur-obtient-il-la-page-qu-il-souhaite-e">Comment l'utilisateur obtient-il la page qu'il souhaite ?</h3><br />

Nous allons voir ici rapidement quel est le principe de fonctionnement du Web.<br />
<br />
Tout d'abord, le client doit être connecté à un réseau (souvent Internet qui pour rappel est le réseau des réseaux mais ça peut-être un réseau domestique ou un Intranet d'entreprise) tout comme le serveur Web qui correspond au site que l'utilisateur demande (ils doivent cependant être sur le même réseau pour pouvoir communiquer).<br />
<br />
Les deux ordinateurs ont besoin de parler la même langue pour pouvoir se comprendre. En informatique, on appelle cela un protocole de communication ou de transfert de données. Celui utilisé sur le Web est le célèbre HTTP (d'où la présence de http devant chaque url) qui signifie HyperText Transfer Protocol, ou, plus rare, HTTPS, sa version sécurisée qui garantit la confidentialité des données transitant sur le réseau.<br />
<br />
L'utilisateur demande un site, par exemple mondomaine.com. Le navigateur va lancer une requête HTTP à cette adresse. L'identifiant d'un ordinateur sur un réseau étant son adresse IP, chaque nom de domaine renvoie vers une adresse IP (par des annuaires de <em>Domain Name Server</em>). Tout ce traitement est réalisé par le système d'exploitation du client qui se charge d'acheminer la requête vers le serveur distant, à travers le réseau, dans lequel elle sera routée pour arriver à sa destination qui est le serveur. Un réseau informatique est comme un réseau routier, il y a plusieurs itinéraires pour arriver à destination, le chemin le meilleur étant le plus court. Ici c'est pareil, chaque carrefour est en réalité un routeur qui relie plusieurs sous réseaux entre eux. Une fois à destination la requête est traitée par le serveur. Cette requête HTTP contient diverses informations, comme l'adresse IP de l'ordinateur qui l'envoie (donc celle du client), l'adresse de la page demandée, diverses informations sur le client (son navigateur, son système d'exploitation...) ainsi que des paramètres qui sont très utiles (sous forme de cookies, de paramètres de type GET  (des valeurs intégrées à l'url comme [font= Courier new]page.php?parametre1=valeur1[/font]) ou POST (par exemple des informations renseignées dans un formulaire)).<br />
<br />
Le serveur a maintenant toutes les clés en main pour pouvoir répondre à cette requête. Il va envoyer au client (dont il connait l'adresse IP) une réponse HTTP. Cette réponse contient principalement le code HTML de la page qu'il a générée, mais aussi des entêtes contenant entre autres le type de réponse (la fameuse erreur 404 qui signifie que la page n'existe pas en est une). Le serveur achemine sa réponse exactement comme le client a acheminé sa requête, à travers le réseau.<br />
<br />
Le client (qui attend la réponse) la reçoit et l'interprète : si les entêtes indiquent que la réponse est positive il interprète le code HTML qu'il a reçu et l'affiche, sinon il affiche un message d'erreur indiquant la cause du problème.<br />
<br />
Voici pour résumer un schéma représentant le fonctionnement du protocole HTTP qui permet à deux ordinateurs de communiquer.<br />
<br />
<p style="text-align: center;"><img src="https://www.phpboost.com/upload/architecture_application_web.png" alt="architecture_application_web" /></p><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-l-interchangeabilite-de-l-interface">L'interchangeabilité de l'interface</h3><br />

PHPBoost est un logiciel qui ne peut fonctionner qu'avec une interface de type Web. Cependant l'apparence de cette application Web est complètement indépendante du reste de PHPBoost grâce à l'utilisation des templates. Ce mot anglais désigne patron (au sens géométrique) ou encore squelette. En réalité un fichier template permet de définir la forme des pages. Grâce à un système de balisage, on marque les emplacements de chaque contenu qui sera généré par la couche application (que nous verrons plus tard).<br />
<br />
Les fichiers templates sont indépendants. En effet il n'est pas nécessaire de connaître le fonctionnement de la couche application (et donc de tout le code PHP) pour pouvoir modifier ces fichiers. La couche application apparaît comme une simple boîte noire dont le rôle est d'écrire les contenus des variables balisées là où on lui a demandé. Nul besoin de savoir comment elle fonctionne pour pouvoir s'en servir.<br />
<br />
Grâce à l'utilisation de ces fichiers on peut dégage deux fonctionnalités très intéressantes :<br />
<br />
<ul class="formatter-ul">
    <li class="formatter-li"> La modification de la forme d'une page est simple. Il suffit de modifier le fichier template qui permet de la générer.
    </li><li class="formatter-li"> Un site peut avoir différentes apparences, selon le choix de l'utilisateur, puisque la couche application permet de choisir quel fichier elle appellera lors de la génération d'une page.<br />
</li></ul><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-resume-de-la-couche-presentation">Résumé de la couche présentation</h3><br />

Cette couche est sur deux niveaux :<br />
<br />
<ul class="formatter-ul">
    <li class="formatter-li"> L'ordinateur du client qui envoie la requête au serveur
    </li><li class="formatter-li"> Les fichiers templates qui permettent de construite l'interface indépendamment des couches inférieures. Cette interface sera interprétée par le navigateur dans deux langages différents :<br />
    <ul class="formatter-ul">
        <li class="formatter-li"> Le code HTML apportant la touche statique de l'application (typiquement la mise en forme)
        </li><li class="formatter-li"> Le javascript qui permet de modifier dynamiquement la page et donc son code HTML (par exemple du glisser déposer d'une image, d'un bloc, l'affichage de l'heure en temps réel)... C'est cette partie qui est vraiment révolutionnée depuis l'apparition du "Web 2.0".<br />
    </li></ul><br />
</li></ul><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-en-savoir-plus">En savoir plus</h3><br />

Voici quelques liens permettant d'approfondir les différentes notions abordées dans cette page :<br />
<br />
<ul class="formatter-ul">
<li class="formatter-li"> <a href="https://fr.wikipedia.org/wiki/Interface_homme-machine" class="wikipedia-link offload">Inteface Homme Machine (IHM)</a>
</li><li class="formatter-li"> <a href="https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol" class="wikipedia-link offload">Protocole HTTP</a>
</li><li class="formatter-li"> <a href="https://fr.wikipedia.org/wiki/Hypertext_Markup_Language" class="wikipedia-link offload">Langage HTML</a>
</li><li class="formatter-li"> <a href="https://fr.wikipedia.org/wiki/JavaScript" class="wikipedia-link offload">Langage Javascript</a>
</li><li class="formatter-li"> <a class="offload" href="https://www.phpboost.com/wiki/classe-templates">Moteur de template PHPBoost</a><br />
</li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-couche-application">Couche application</h2><br />

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.<br />
<br />
Cette partie est assurée par un serveur Web (nous conseillons Apache) et l'interpréteur de code PHP.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-reception-de-la-requete">Réception de la requête</h3><br />

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.<br />
<br />
Le code de la page demandée est en fait celui de PHPBoost.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-traitement-de-la-requete">Traitement de la requête</h3><br />

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.<br />
<br />
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.<br />
<br />
Nous allons maintenant décomposer PHPBoost en différentes parties.<br />
<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-le-noyau">Le noyau</h4><br />

Le noyau est l'organe central du site. Ses principales fonctions sont :<br />
<br />
<ul class="formatter-ul">
<li class="formatter-li"> Gérer la configuration du site (nom, adresse, configuration du serveur et de la base de données)
</li><li class="formatter-li"> Gérer l'environnement global (langues, thèmes, organisation des menus, modules)
</li><li class="formatter-li"> 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.<br />
</li></ul><br />
<br />
Plus généralement, tout le panneau d'administration à l'exception des panneaux d'administration des modules est géré par le noyau.<br />
<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-le-framework">Le framework</h4><br />

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.<br />
<br />
<span class="message-helper bgc question">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.</span><br />
<br />
Il assiste et centralise les traitements courants dont voici quelques exemples :<br />
<br />
<ul class="formatter-ul">
<li class="formatter-li"> Système de gestion de commentaires, de notation
</li><li class="formatter-li"> Editeurs et interpréteurs de mise en page du contenu
</li><li class="formatter-li"> Système de gestion de catégories infinies
</li><li class="formatter-li"> Gestionnaire de flux (RSS par exemple), de plan du site
</li><li class="formatter-li"> Interfaces de communication avec le noyau et les autres modules (exemple : recherche dans tous les modules)
</li><li class="formatter-li"> Gestion des fichiers (lecture, écriture)
</li><li class="formatter-li"> Moteur de templates pour permettre de faire la liaison entre fond et forme (voir couche présentation)
</li><li class="formatter-li"> Différents outils pratiques au développement<br />
</li></ul><br />
<br />
<h4 class="formatter-title wiki-paragraph-4" id="paragraph-les-modules">Les modules</h4><br />

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 : <strong>le noyau est indépendant des modules et les modules sont indépendants entre eux</strong>.<br />
<br />
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...).<br />
<br />
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.<br />
<br />
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.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-en-savoir-plus">En savoir plus</h3><br />

<ul class="formatter-ul">
    <li class="formatter-li"> <a href="https://fr.wikipedia.org/wiki/PHP:_Hypertext_Preprocessor" class="wikipedia-link offload">PHP</a> sur Wikipédia
    </li><li class="formatter-li"> <a class="offload" href="http://www.php.net/">PHP</a> : site officiel
    </li><li class="formatter-li"> <a href="https://fr.wikipedia.org/wiki/Apache_HTTP_Server" class="wikipedia-link offload">Apache HTTP Server</a>, le serveur Web le plus connu
    </li><li class="formatter-li"> <a class="offload" href="https://www.phpboost.com/wiki/modules">Modules PHPBoost</a>
    </li><li class="formatter-li"> <a class="offload" href="https://www.phpboost.com/wiki/developper-avec-phpboost">Développement sur PHPBoost</a><br />
</li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-couche-base-de-donnees">Couche base de données</h2><br />

Cette couche est la seule complètement indépendante du projet PHPBoost.<br />
<br />
PHPBoost utilise le <abbr title="Système de Gestion de Base de Données" class="formatter-abbr">SDBG</abbr> MySQL qui est d'ailleurs très utilisé pour les applications Web et installée sur les serveurs Web.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-un-sgbd-c-est-quoi-e">Un SGBD c'est quoi ?</h3><br />

Un SGBD (ou <abbr title="DataBase Management System" class="formatter-abbr">DBMS</abbr><img src="https://www.phpboost.com/images/smileys/wink.png" alt=":wink" class="smiley" /> est un système qui permet de gérer les données. Ces données peuvent être des nombres, du texte, des caractères, des dates, ou des types plus évolués comme des fichiers (rarement utilisé sous cette forme cependant). Il existe d'autres SGBD que MySQL, comme notamment SQLite, PostGreSQL mais aussi Oracle ou SQL Serveur qui sont plus performants mais utilisés que par des professionnels.<br />
<br />
Un SGBD est une vraie machine de guerre pour stocker des données. Très souvent programmés en langage C (programmation bas niveau mais performante), ils sont capables d'absorber des données et de les restituer en temps record et ce quelque soit la taille des données qu'ils contiennent.<br />
<br />
Un des gros problèmes techniques actuels est que les ordinateurs stockent leurs données dans des disques durs, c'est donc aussi le cas pour les fichiers de base de données. Le problème est qu'un disque dur est un composant mécanique, et que même en optimisant toute la conception mécanique des têtes de lecture et des plateaux de disque on ne peut plus améliorer les performances car les limites ne sont pas électroniques mais bel et bien mécaniques : on ne peut pas repousser les lois de la physique notamment en ce qui concerne le déplacement de la tête de lecture. Il faut savoir qu'aujourd'hui une lecture d'une donnée élémentaire sur le disque dur prend de l'ordre de quelques millisecondes (millièmes de seconde), alors qu'une lecture dans la mémoire vive (RAM) de l'ordinateur prend environ quelques nanosecondes (milliardièmes de seconde). Il y a donc un rapport d'un million ! Mais alors pourquoi ne pas tout stocker en mémoire vive ? Actuellement la mémoire vive coûte bien plus cher que de la mémoire sur un disque dur. Il est vrai que maintenant nous arrivons assez facilement à 4 Go de mémoire vive, mais au moment où ont été inventés les SGBD ce n'était pas le cas, il était donc hors de question de stocker la base de données en mémoire vive. Il a fallu donc trouver une solution avec les disques durs. C'est pour cela que les SGBD sont de véritables machines de guerre, leurs concepteurs ont dû trouver une solution pour contourner ce problème d'accès disque et donc diminuer au maximum les lectures en créant par exemple des index (comme un index d'un livre qui classe les notions par ordre alphabétique et qui met le numéro de la page à laquelle on peut trouver l'information). Ils sont capables de sélectionner des données en imposant des contraintes (par exemple seulement les messages de tel utilisateur) en quelques millisecondes.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-comment-communique-t-on-avec-lui-e">Comment communique-t-on avec lui ?</h3><br />

<br />
La plupart des SGBD sont en réalité des serveurs logiciels qui attendent des requêtes, les traitent et renvoient leurs résultats.<br />
<br />
Le programme qui souhaite effectuer une opération sur le SGBD s'y connecte (par exemple l'interpréteur PHP avec PHPBoost) en connaissant bien entendu le nom du serveur et les identifiants pour pouvoir y accéder. Ensuite il communique en s'envoyant des informations. Une demande d'opération au serveur contient une requête en langage <abbr title="Structured Query Language" class="formatter-abbr">SQL</abbr> (le principal langage de requêtes vers les bases de données). Le SGBD interprète cette requête, la traite et renvoie les informations. Le programme (PHPBoost ici) peut ensuite traiter les données comme il le souhaite.<br />
<br />
Le SGBD SQLite a un fonctionnement un peu particulier. Conçu pour être très léger il n'est pas utilisé dans les mêmes conditions que les SGBD traditionnels (il convient par exemple en informatique embarquée comme dans un robot, un avion, par exemple ou dans des logiciels qui ont une fréquence d'accès à la base de données assez faible ou des petites quantités de données à gérer comme Firefox 3 avec sa "<em>barre intelligente</em>"). Ce dernier ne constitue pas un serveur mais est directement embarqué dans le logiciel (sous forme de librairies). Le gros avantage est qu'il n'y a aucune communication entre deux programmes donc aucune perte de temps à ce niveau là. Cependant ce SGBD est moins rapide que d'autres car sommaire mais très léger. Il se trouve que PHP 5 embarque SQLite et il peut donc aussi être utilisé pour une application Web, c'est un cas d'utilisation assez rare.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-phpboost-est-il-compatible-avec-d-autres-sgbd-que-mysql-e">PHPBoost est-il compatible avec d'autres SGBD que MySQL ?</h3><br />

Le SGBD constitue une véritable couche et même une parfaite "boîte noire" car à moins d'avoir étudié leur fonctionnement on ne sait pas comment il travaille, en revanche on sait ce qu'il fait et on l'utilise. Il semble donc possible d'utiliser n'importe lequel de ces SGBD, puisqu'ils jouent le même rôle.<br />
<br />
En effet, sur PHPBoost le support de différents SGBD est prévu depuis longtemps. Cependant nous rencontrons des difficultés techniques assez importantes qui font que cela n'avance pas vite. Même si tous les SGBD utilisent le langage SQL, ils n'utilisent pas exactement le même dialecte et ils ne comprendront pas forcément les requêtes. Chaque système a les spécificités de son langage et nous n'arrivons pas actuellement à faire des requêtes qui soient compatibles avec tous les SGBD. Il s'agit de construire une interface d'abstraction totale du SGBD.<br />
<br />
Il est cependant prévu pour la suite de trouver une solution, pour l'instant PHPBoost fonctionne très bien avec MySQL, et ce dernier étant le plus répandu dans le monde des particuliers et des semi-professionnels, peu de gens devraient être gênés par ce problème. MySQL est en revanche très peu utilisé dans le monde des professionnels car il ne respecte pas certaines contraintes sur l'intégrité des données par exemple et ne résiste pas longtemps quand la charge de travail monte. Il suffit cependant dans une très large majorité des cas pour une application Web, à moins d'avoir plusieurs centaines de visiteurs connectés en permanence.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-comment-eviter-de-multiplier-les-acces-au-sgbd-e">Comment éviter de multiplier les accès au SGBD ?</h3><br />

Les SGBD sont très rapides si on se base sur la quantité de données qu'ils sont capables de traiter. Cependant dans la mesure du possible il est préférable d'éviter de le solliciter, surtout pour éviter les temps de latence entre les appels et les réponses qu'il fournit.<br />
<br />
Pour cela PHPBoost met certaines données en cache. Ces informations sont celles qui sont très souvent utilisées et rarement renouvelées, typiquement une configuration. Ces informations sont stockées dans des fichiers sur le serveur et sont très rapidement accessibles, bien plus rapidement que si il les demandait au SGBD car le serveur Web n'a qu'à ouvrir un petit fichier. Le framework PHPBoost permet de gérer la mise en cache assez simplement pour chaque module.<br />
<br />
<p style="text-align: center;"><img src="https://www.phpboost.com/upload/couche_donnees_cache_svg.png" alt="couche_donnees_cache_svg" /></p><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-en-savoir-plus">En savoir plus</h3><br />

Quelques liens qui permettent d'approfondir certaines notions abordées ici :<br />
<br />
<ul class="formatter-ul">
<li class="formatter-li"> <a href="https://fr.wikipedia.org/wiki/Système_de_gestion_de_base_de_données" class="wikipedia-link offload">SGBD</a>
</li><li class="formatter-li"> <a href="https://fr.wikipedia.org/wiki/Structured_Query_Language" class="wikipedia-link offload">Langage SQL</a>
</li><li class="formatter-li"> <a class="offload" href="http://www-fr.mysql.com/">MySQL, site officiel</a>
</li><li class="formatter-li"> <a class="offload" href="https://www.phpboost.com/wiki/executer-des-requetes-sql">Exécuter des requêtes SQL à l'aide du framework PHPBoost</a><br />
</li></ul><br />
<br />
<h2 class="formatter-title wiki-paragraph-2" id="paragraph-conclusion">Conclusion</h2><br />

<h3 class="formatter-title wiki-paragraph-3" id="paragraph-recapitulatif">Récapitulatif</h3><br />

Le découpage en différentes couches ayant maintenant été effectué, nous pouvons le matérialiser simplement par un schéma.<br />
<br />
<p style="text-align: center;"><img src="https://www.phpboost.com/upload/schema_racitulatif_couches.png" alt="schema_racitulatif_couches" /></p><br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-pourquoi-un-tel-decoupage-e">Pourquoi un tel découpage ?</h3><br />

Dans ce dossier nous avons vu grossièrement quelle était la structure de PHPBoost. L'utilisation de différentes couches permet, comme on l'a vu, de rendre indépendantes les différentes parties de l'application, ce qui laisse la possibilité par la suite d'apporter des optimisations ou de changer totalement les méthodes de traitement, dans la mesure où les appels à ces fonctions ne changent pas de forme.<br />
<br />
Le découpage en couches semble a priori complexe à mettre en place et peu utile. Cependant il permet de faciliter nettement la maintenance et l'intégration (personnalisation) d'un logiciel. En effet lorsqu'on se trouve face à un bug, on peut très rapidement identifier la couche dans laquelle il se trouve et le corriger plus simplement. Une telle architecture ne permet pas de gagner en performances, en revanche elle vise à simplifier l'organisation d'un projet et donc le développement ainsi que sa maintenance. C'est pour cela qu'aujourd'hui les systèmes d'information sont souvent découpés en de nombreuses couches de façon très précise.<br />
<br />
<h3 class="formatter-title wiki-paragraph-3" id="paragraph-en-savoir-plus">En savoir plus</h3><br />

Ce dossier contient beaucoup de notions qui sont assez complexes techniquement. Si quelque chose n'est pas clair, n'hésitez pas à en discuter dans les commentaires de l'article par exemple.]]></description>
                <pubDate>Mon, 24 Apr 2023 12:14:06 +0200</pubDate>
                
            </item>
		
            <item>
                <title><![CDATA[Liste des modules supportés et contenus dans votre distribution]]></title>
                <link>https://www.phpboost.com/wiki/liste-des-modules-supportes-et-contenus-dans-votre-distribution</link>
                <guid>https://www.phpboost.com/wiki/liste-des-modules-supportes-et-contenus-dans-votre-distribution</guid>
                <description><![CDATA[Un des choix technique de l'équipe de PHPBoost a été de développer et de maintenir les modules en même temps que le noyau.<br />
<br />
Cette approche permet d'avoir un environnement graphique unique et homogène : tous thèmes modifiés ou créés s'appliquent à l'ensemble du logiciel et de ses modules.<br />
<br />
L'utilisateur est certain que d'une version à l'autre de PHPBoost les modules seront fonctionnels, et qu'il ne se retrouvera pas avec des modules incompatibles avec la dernière version du noyau, comme c'est souvent le cas avec d'autres CMS.<br />
<br />
<h3 class="formatter-title">Liste des modules supportés et contenus dans votre distribution</h3><br />
<br />
<table class="table formatter-table" style="margin:auto;">
<tr class="formatter-table-row">
<td class="formatter-table-head">Modules inclus</td>
<td class="formatter-table-head">Complète</td>
<td class="formatter-table-head">Développement</td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/articles">Articles</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/base-de-donnees">Base de données</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col">Bac à sable</td>
<td class="formatter-table-col"></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/calendrier">Calendrier</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col">Captcha QuestionCaptcha</td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col">Captcha ReCaptcha</td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/contact">Contact</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/discussion">Discussion</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col">Documentation du Framework</td>
<td class="formatter-table-col"></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/bbcode">Éditeur BBCode</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col">Éditeur TinyMCE</td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/en-ligne">En ligne</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/faq">FAQ</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/forum">Forum</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/galerie">Galerie</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/googlemaps">GoogleMaps</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/liens-web">Liens web</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/livre-d-or">Livre d'or</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col">Menu Connexion</td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col">Menu changement de langue</td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col">Menu changement de thème</td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/multimedia">Multimédia</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/news">News</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/newsletter">Newsletter</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/pages">Pages</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/personnalisation">Personnalisation</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/wiki">Plan du site</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
        <tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/rapport-de-bug">Rapport de bug</a></td>
<td class="formatter-table-col"></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/recherche">Recherche</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/sondages">Sondages</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/administration">Statistiques</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/telechargement">Téléchargements</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
<tr class="formatter-table-row">
<td class="formatter-table-col"><a class="offload" href="https://www.phpboost.com/wiki/wiki">Wiki</a></td>
<td class="formatter-table-col"><p style="text-align: center;"><i class="fa fa-success" aria-hidden="true"></i></p></td>
<td class="formatter-table-col"></td>
</tr>
</table>]]></description>
                <pubDate>Fri, 04 Nov 2022 18:45:49 +0100</pubDate>
                
            </item>
		
	</channel>
</rss>
