Quantcast
Channel: Documentation PHPBoost
Viewing all 35 articles
Browse latest View live

[3.X] Champs membres

$
0
0
Vous avez la possibilité ici de gérer de nouveaux champs dans le profil de vos utilisateurs. Ainsi vous allez pouvoir personnaliser les champs à votre guise. De nombreuses possibilités vous sont offertes, nous allons les découvrir dans cet article.

Exemple au niveau d'un profil





Gestion des champs membres





Ici vous allez pouvoir gérer les champs en
  • les éditant
  • les supprimant
  • les déplaçant les un par rapport aux autres pour les mettre dans l'ordre choisi.


Ajouter un champ membre





Nom



Nom du champs qui sera dans la colonne de gauche dans le profil

Description



Vous pouvez écrire ici une petite description du champs, il sera écrit en italique en dessous du titre du champ

Type





Texte court (max 255 caractères)



Petite zone de texte où le membre pourra mettre au maximum 255 caractères.

Texte long (illimité)



Zone de texte au nombre de caractères illimité.

Sélection unique (parmi plusieurs valeurs)



Le choix est unique et la présentation est sous la forme de réponses avec barre d'ascenseur.

Sélection multiple (parmi plusieurs valeurs)



Choix multiple des réponses parmi une liste, on sélectionne les réponse en tenant appuyé sur la touche 'Ctrl' de votre clavier.

Choix unique (parmi plusieurs valeurs)



Il faut cocher la réponse souhaitée.

Choix multiple (parmi plusieurs valeurs)



Il suffit de cocher les différentes réponses souhaitées.

Valeurs possibles



Écrivez ici les différentes réponses aux champs, vous pouvez en mettre autant que vous souhaitez.

il faut séparer les différentes valeurs par le symbole | (pipe)

Valeurs par défaut



Ces valeurs doivent être déjà présentes dans les valeurs possibles, mais elles seront pré-sélectionnées dans les choix. N'oubliez pas de séparer les différentes valeurs par le symbole |

Voici un exemple pour mieux comprendre :
  • valeurs possibles: Choux|Carotte|Patate
  • valeurs par défaut: Carrote

==> suivant le type que vous aurez choisi, Carotte sera pré-coché ou pré-sélectionné parmi la liste :)

Regex



Ce champ vous permet de contrôler l'entrée de l'utilisateur. Regex est l'abréviation de Regular Expression qui signifie en français expression régulière.
Par défaut vous avez le choix entre 5 motifs prédéfinis qui correspondent à une grande majorité des champs. Si vous ne souhaitez pas contrôler l'entrée de l'utilisateur laissez "--". Sinon si un des 5 motifs vous convient sélectionnez-le.

Voici la liste des 5 motifs prédéfinies :
  • Chiffres :
  • Lettres :
  • Chiffres et lettres :
  • Mail :
  • Site web :


Les utilisateurs confirmés pourront créer leurs propres motifs afin de s'adapter précisément à l'entrée attendue. Pour cela il faut créer votre propre masque et le rentrer dans le formulaire.

Des connaissances précises dans ce domaine sont requises !

Pour information vous devez rentrer vos regex selon la norme PCRE.
Vous pouvez demander de l'aide sur le forum PHPBoost ou alors consulter quelques sites pour trouver davantage d'informations : Site Du Zer0 (introduction aux expressions régulières), expreg.com (site dédié aux expressions régulières)

[3.X] Rangs

$
0
0
Les rangs servent à classer les membres en fonction de leur nombre de posts. Une icône est alors affichée au niveau du forum à gauche des posts dans le profil:



Gestion des rangs





Il existe 2 rangs spéciaux pour les administrateurs et les modérateurs, vous pouvez seulement modifier l'image du rang.

Pour les autres rangs, vous pouvez :
  • changer le nom du rang
  • changer le nombre de posts du rang
  • changer l'icône


Ajouter un rang



Uploader une image de rang





Téléchargez l'icône de votre nouveau rang présente sur votre pc vers le serveur. Le plus simple est d'utiliser le système d'upload de cette page, sinon vous pouvez transférer vos icônes sur votre FTP dans le répertoire ..templates/nom_de_votre_theme/images/rank/

Ajouter un rang





Pour chaque nouveau rang, vous devez renseigner :
  • le nom de votre rang
  • le nombre de message(s) pour accéder à ce rang
  • enfin l'icône relative au rang.

[3.X] Règlement

$
0
0
Vous avez la possibilité de faire valider un règlement aux nouveaux membres lors de leur inscription.

Ne pas mettre de règlement



Cela n'est pas obligatoire, et si vous désirez ne pas en mettre, il suffit de ne rien mettre dans la case contenu.

Mettre un règlement





Si vous désirez en mettre un, l'utilisateur devra valider ce règlement avant d'accéder au formulaire d'inscription. Vous pouvez le personnaliser à votre souhait avec les balises bbcode ou du html.

[3.X] Gestion des menus

$
0
0
La page d'accueil contient par défaut des blocs (ou menus) en fonction des modules que vous avez installés, ils se trouvent à gauche et à droite en haut et en bas de la page selon vos préférences.

Ces menus peuvent être déplacés comme on le souhaite. on peut également en créer de nouveaux afin de personnaliser au maximum votre site.

Attention l'affichage prend automatiquement en compte la disposition des blocs sur le thème courant (une colonne à droite, à gauche, les deux ou aucune des deux, de même en hauteur). Ainsi l'interface d'administration reflète la position réelle des blocs sur le site.

Gestion des menus





Vous avez 8 zones où vous pouvez mettre des menus. Ces zones sont délimitées par les couleurs. Ainsi vous avez :


  • Tête de page : correspond au header de votre page
  • Sous entête : correspond au sub-header avec les liens se connecter, administration, etc... qui se trouvent sous la bannière du header.
  • Menu gauche
  • Menu central haut : se trouve entre le sous entête et le contenu central de la page, en général un module
  • Menu central bas : se trouve entre le contenu central de la page et le pied de page
  • Menu droit
  • Sur pied de page : zone entre le cadre central ou se trouve le module et le bas de la page
  • Pied de page : correspond au footer où se trouvent les copyrights de PHPboost.


Vous pouvez déplacer chaque menu :
  • dans la zone désirée en cliquant sur la flèche :

  • de haut en bas via les icônes : et


Enfin vous pourrez bien sur éditer () et supprimer () les menus que vous avez créés vous même ou des modules.

Les menus désactivés se trouvent dans la zone centrale 'Menus disponibles'

Ajouter un menu



Vous allez pouvoir créer des menus personnalisés en plus des menus des modules.

Ajout menu de lien





  • Nom : donnez un nom à votre menu
  • Adresse : facultatif, correspond à l'adresse du lien du titre du menu
  • Image : facultatif, vous pouvez mettre ici l'adresse d'une image représentant le menu.
  • Type : vous allez avoir le choix entre :
    • Menu horizontal

    • Menu horizontal déroulant

    • Menu vertical

    • Menu vertical déroulant




  • Emplacement : choisissez l'emplacement de votre menu (cf plus haut)
  • Statut : activé ou désactivé si vous souhaitez qu'ils soit affiché ou non sur le site
  • Autorisations : définissez ici quel type de membre peut voir ce menu.
  • Contenu : vous allez mettre ici la liste des liens de votre menu avec un nom de votre lien, une adresse et la possibilité de mettre une icône personnalisée pour chaque lien.


Ajout menu de contenu





  • Nom : donnez un nom à votre menu
  • Emplacement : choisissez l'emplacement de votre menu (cf plus haut)
  • Contenu : mettez ici le contenu de votre menu, cela peut être du texte, des images, de la vidéos, du contenu html, etc...
  • Statut : activé ou désactivé si vous souhaitez qu'ils soit affiché ou non sur le site
  • Autorisations : définissez ici quel type de membre peut voir ce menu.


Ajout de flux





Vous allez pouvoir créer un menu avec un flux de votre site.

  • Nom : donnez un nom à votre menu
  • Emplacement : choisissez l'emplacement de votre menu (cf plus haut)
  • Flux : choisissez parmi la liste le flux que vous souhaitez afficher
  • Statut : activé ou désactivé si vous souhaitez qu'ils soit affiché ou non sur le site
  • Autorisations : définissez ici quel type de membre peut voir ce menu.

[3.X] Gestion des fichiers

$
0
0
Au niveau de l'administration, vous allez avoir accès à tous les fichiers que les utilisateurs ont déposé dans leur zone, mais également créer d'autres répertoires pour gérer vos propres fichiers, afin d'éviter de passer par le transfert de fichier FTP.

Tous les fichiers déposés par les membres ou bien au niveau de cette zone d'upload par vous même se trouvent sur votre serveur dans le répertoire ../upload

Vous pouvez également parcourir les répertoires de vos membres en revenant à la racine de l'arborescence de fichier, puis entrer dans le dossier "Membres"

Configuration des fichiers





Autorisation requise pour l'activation de l'interface de fichiers : définissez ici quel type de membre peut accéder à son gestionnaire de fichier.

Taille maximum des uploads autorisés aux membres : vous pouvez ici limiter la taille maximum d'upload de fichiers pour chacun de vos membres. Attention à ne pas mettre un espace trop important surtout si vous avez une grande communauté, sinon il vous faudra un hébergement avec un espace conséquent.

Protection de la bande passante : interdiction d'accès aux fichiers du répertoire upload depuis un autre serveur. En effet, vos membres peuvent stocker des données sur votre serveur et ensuite utiliser ces fichiers sur des sites comme par exemple un avatar sur un forum. Cela entraine une utilisation non voulue de votre part de la bande passante de votre site, vous pouvez ainsi désactiver cette fonction.

Extensions autorisées : choisissez parmi la liste les extension des fichiers que les membres pourront uploader.

Extensions autorisées supplémentaires : vous avez la possibilité d'autoriser des extensions supplémentaires, séparez les par des virgules.

Gestion des fichiers





Vous avez accès à tous les répertoires des membres dans le répertoire 'membres', mais vous pouvez créer d'autres répertoires pour stocker vos données sans passer par le FTP.



Vous avez accès à tous les répertoires des membres comme vous le montre la photo ci dessus.

Un répertoire est créé pour un membre UNIQUEMENT à la première utilisation de cette fonction par celui-ci.

Vous pourrez modérer ou parcourir les répertoires de vos membres.


Fonctions disponibles



Supprimer tout le contenu du dossier d'un membre



Cliquez sur au dessous du répertoire du membre et tout le contenu du dossier sera supprimé.

Ajout de répertoires



Cliquez sur 'Nouveau dossier' puis tapez le nom de votre répertoire puis sur la touche 'entrer' de votre clavier (ou cliquez en dehors du champs).

Ajout de fichiers



Les fichiers doivent être présents sur votre disque dur.
Allez dans la zone 'Ajouter un fichier' puis par le bouton parcourir choisissez sur votre disque dur le fichier que vous souhaitez uploader et cliquez sur ouvrir. Enfin cliquez sur uploader.

Ne choisissez pas un fichier supérieur à la taille maximum autorisée par l'administrateur (en bas de votre zone d'upload se trouve un rapport statistique de vos fichiers et de la taille utilisée sur la taille maximum autorisée.

Suppression de fichiers ou de répertoires



Il suffit de cliquer sur au niveau de votre fichier ou de votre répertoire que vous souhaitez supprimer.

La suppression est définitive et aucun message de confirmation vous sera demandé.

Édition de répertoire ou de fichiers



Il suffit de cliquer sur au niveau de votre fichier ou de votre répertoire et de le renommer comme vous le souhaitez.

[3.X] Gestion des commentaires

$
0
0

Gestion des commentaires



Vous allez pouvoir voir tous les commentaires qui se trouvent sur votre site afin de pouvoir les modérer si besoin.



Vous avez la possibilité de voir les commentaires selon :
  • l'ordre chronologique pour tous les modules : 'Voir les derniers commentaires'
  • le module désiré en cliquant sur Articles (6) | Calendrier (0) | Galerie (5), etc...


Pour chaque commentaire vous voyez :
  • le profil du membre à gauche
  • le contenu du commentaire à droite
  • un lien pour accéder au commentaire au niveau du module : 'Voir la discussion '


Vous pourrez également modérer les commentaires :
  • les éditer via l'icône :
  • les supprimer via l'icône :



Configuration des commentaires





Tous les paramètres que vous allez mettre ici s'appliqueront sur tout le système de commentaires du site.

Rang pour pouvoir poster des commentaires : choisissez quel niveau d'utilisateur peut poster des commentaires.

Affichage des commentaires : vous avez la possibilité d'afficher les commentaires :
  • dans la page courante (par exemple sous un article)
  • dans une nouvelle fenêtre style pop-up.


Nombre de commentaires par page : définissez le nombre maximum de commentaires affichés par page, dès que le nombre de commentaires est supérieur à celui fixé, un système de pagination se met automatiquement en place.

Balises BBcode interdites : vous avez la possibilité de désactiver certaines balises bbcode dans les commentaires. Pour les désactiver, maintenez appuyée la touche 'ctrl' puis cliquez dans la liste pour faire plusieurs choix.

Nombre de liens maximum dans le message : Pour éviter un système de spam par des utilisateurs, vous avez la possibilité de limiter le nombre d'adresses internet dans les commentaires. (mettez -1 pour désactiver cette option)

[3.X] Gestion du contenu

$
0
0
Phpboost offre la possibilité de choisir entre 2 éditeurs de mise en page de votre contenu texte.



Langage de formatage



  • le bbcode qui est utilisé par pratiquement tous les forums, il consiste à voir les balises entre crochet quand vous tapez du texte pour la mise en page. C'est l'éditeur que nous vous conseillons car contient plus de fonctions.

  • TinyMCE est un éditeur WYSIWYG, c'est à dire que vous voyez directement la mise en page du texte que vous souhaitez tel que le surlignage, l'italique, etc...Il contient moins de balises que le BBcode. Il est destiné pour les membres qui ont peu l'habitude de la mise en page.




Langage de formatage du contenu par défaut du site : choisissez ici l'éditeur que vous souhaitez qui soit par défaut sur votre site. Après les utilisateurs pourront dans leur profil choisir leur éditeur.

Balises de formatage interdites : vous avez la possibilité d'interdire certaines balises. Sélectionnez les afin que les membres ne puissent pas les utiliser.

Langage HTML



PHPboost vous permet d'autoriser l'insertion de langage html dans vos pages.

[style=warningLle code HTML peut contenir du code Javascript qui peut constituer une source de faille de sécurité si quelqu'un y insère un code malveillant. Veillez donc à n'autoriser seulement les personnes de confiance à insérer du HTML![/style]

Niveau d'autorisation pour insérer du langage HTML : sélectionnez ici quel rang / groupe / membre seront autorisés à inclure du html dans leurs contributions sur le forum / articles / wiki, etc...

Par défaut, nous vous conseillons de n'autoriser que les administrateurs de votre site en qui vous aurez une totale confiance.

[4.X] Utilisateur courant

$
0
0
La classe CurrentUser gère l'utilisateur au cours de sa session. Elle permet notamment de récupérer ses informations et gérer les autorisations pour les niveaux et groupes d'utilisateurs, sachant qu'elle supporte le fait qu'un utilisateur soit inscrit dans plusieurs groupes.


Informations de l'utilisateur



Pour récupérer une instance de la classe CurrentUser il suffit d'utiliser AppContext :

Code PHP :
AppContext::get_current_user()
;

Un certains nombres d'informations peuvent être ensuite récupéré grâce à cette classe :

Code PHP :
$user = AppContext::get_current_user();
$user->get_id(); // Identifiant de l'utilisateur
$user->get_pseudo(); // Pseudo de l'utilisateur
$user->get_email(); // Email
$user->get_show_email(); // Autorisation d'afficher l'email ou non
$user->get_level(); // Rang :=> -1 = visiteur, 0 =membre, 1 = modérateur, 2 = administrateur
$user->get_locale(); // Langue
$user->get_theme(); // Thème
$user->get_timezone(); // Fuseau horaire
$user->get_editor(); // Éditeur de texte
$user->get_groups(); // Groupes de l'utilisateur



Gestion des autorisations




Vérification du rang



Un utilisateur a un rang, qui lui est assigné, qui peut aller de visiteur à administrateur.

Pour vérifier si il a bien le rang pour accéder à une page par exemple il faut procéder ainsi :

Code PHP :
if (AppContext::get_current_user()->check_level(User::MEMBER_LEVEL))
{
	echo 'Tu n\'es pas membre, donc tu es un visiteur !';
}



Vérification sur les groupes




La gestion des groupes est à la base de la puissance du système d'autorisation sur PHPBoost. Vous pouvez donner des droits en plus des rangs, à des utilisateurs d'un groupe, et même membre par membre.

La gestion des autorisations est basée sur les opérateurs de bits. Sachant que la majorité des serveurs fonctionnent sur des architectures 32 bits (bien que les architectures 64 bits commencent à se démocratiser) nous pourrons gérer 32 types d'autorisations en une seule variable (il est fortement recommandé de ne pas dépasser ce nombre pour ne pas avoir des dépassements de capacité sur les architectures 32 bits).
En réalité en PHP nous n'avons pas la maîtrise totale des types et donc les entiers sont forcément signés (c'est-à-dire qu'ils peuvent être négatifs ou positifs) et donc le bit de poids fort (le plus à gauche) est utilisé pour savoir le signe du nombre. Sur une architecture 32 bits nous pourrons effectivement gérer que 31 autorisations par variable.
Dans les cas où on souhaite gérer plus de 31 autorisations (très très rare) il faudra gérer les droits en plusieurs variables.


Stockage des règles pour chaque action



Commençons par un schéma représentant la façon dont un ordinateur stocke des nombres (l'exemple est pris en architecture 32 bits).



Comme nous l'avons vu nous pouvons traiter les autorisations par séries de 31. Chaque règle (de 1 à 31) est repérée par son numéro et correspond au bit qui est à 1 si l'action est permise ou 0 sinon. Voici un schéma illustrant comment sont stockées les autorisations de chaque utilisateur.



Utilisation :

Code PHP :
AppContext::get_current_user()->check_auth($tableau, $bit)

[4.X] Convention de développement

$
0
0
Il est important dans un projet que les développeurs adopent un style de développement identique. Ceci favorise la relecture du code et le débuggage.

Cet règle n'est pas obligatoire, mais très fortement recommandée. Vous pouvez donc passer à la partie suivante si vous le souhaitez.

Indentation



Le style d'indentation adopté sur PHPBoost permet de gagner en lisibilité et en clarté du code.
L'utilisation des tabulations et des espaces est très importante dans le code. Il faut aérer votre code pour le rendre plus lisible.

Nous allons voir plusieurs exemple si dessous.


Les conditions



Un espace avant la parenthèse. Les accolades ne sont pas sur la même ligne que la condition.
Il faut indenter le code.

conditions simples



Code PHP :
if ($var == 2)
{
	echo 'La variable vaut 2';
}


Traitement sur plusieurs lignes



Code PHP :
if ($var == 2)
{
	echo 'test';
}
elseif ($var == 3)
{
	echo 'La variable vaut 3';
}
else
{
	echo 'La variable ne vaut pas 2, ni 3';
}


Avec imbrication



Code PHP :
if ($var > 0)
{
	if ($var == 2)
	{
		echo 'test';
	}
	elseif ($var == 3)
	{
		echo 'La variable vaut 3';
	}
	else
	{
		echo 'La variable ne vaut pas 2, ni 3';
	}
}


Il s'agit donc d'indenter le code et non la partie déclarative.


Les boucles



Code PHP :
for ($i = 0; $i < 5; $i++)
{
	echo $i;
}


Code PHP :
$i = 0;
while ($i < 5)
{
	echo $i;
	$i++;
}



Les variables



Par convention, toutes les variables, y compris les variables de classes, doivent commencer par une minuscule.

Si la variable est une suite de mots, ils devront être séparés d'un uppercase (_).

Exemple :

Code PHP :
$ma_variable


Les classes



Les classes ont également un traitement particulier en terme de convention.


Nommage




Les classes doivent toujours commencer par une majuscule :

Code PHP :
class Classe 
{
 
}


Si la classe est une suite de mot, chaque mot commence par une majuscule et ne sera séparé d'aucune manière :

Code PHP :
class MaClasse
{
 
}



Les fonctions



Les fonctions doivent être en minuscule et suivi d'un uppercase entre chaque mot.

Code PHP :
class MaClasse
{
	private $name = 'PHPBoost';
 
	public function get_name()
	{
		return $this->name;
	}
}

[4.X] Mettre à jour son thème provenant de la version 3.0

$
0
0
Nous allons voir au fil de cet article la manière de modifier un thème V3 afin de pouvoir l'utiliser sur la version 4 de PHPBoost.


Le header.tpl



Le header.tpl a été repensé afin de gagner en visibilité et de profiter des nombreuses améliorations apportées sur le noyau.

Les explications données ci-dessous s'appliquent à la majorité des thèmes. Il se peut que le contenu de votre fichier soit différent des exemples affichés. Lisez bien toutes les consignes afin d'éviter toute erreur.


Les fichiers CSS du thème



Dans cette quatrième version de PHPBoost, la gestion des fichiers des thèmes est maintenant gérée par le framework. Celui-ci va rechercher directement et prendre en compte tous les fichiers CSS qui se trouvent dans le dossier '/Votre_theme/theme/'.
Une fois la recherche effectuée, le framework va créer un fichier CSS de cache qui contiendra l'ensemble des fichiers de style du thème. De plus, ce fichier sera compressé afin d'accélérer l'affichage des pages.
Toutes vos feuilles de style doivent donc être contenus dans le dossier '/Votre_theme/theme/'

Pour résumer, il va falloir supprimer tous les appels directs aux CSS contenus dans votre thème, comme par exemple :

Code TPL :
<link rel="stylesheet" href="{PATH_TO_ROOT}/templates/{THEME}/theme/design.css" type="text/css" media="screen" />


Et les remplacer par une seule ligne :
Code TPL :
{THEME_CSS}


Ne supprimez pas les appels de fichier ne se trouvant pas dans le thème, comme :
Code TPL :
<link rel="stylesheet" href="{PATH_TO_ROOT}/templates/[b]default[/b]/theme/default.css" type="text/css" media="screen, print, handheld" />
<link rel="stylesheet" href="{PATH_TO_ROOT}/templates/[b]default[/b]/framework/content/syndication/syndication.css" type="text/css" media="screen, print, handheld" />




Les fichiers CSS des modules



Ensuite, nous devons placer l' appel dynamique aux fichiers CSS des modules inclus dans votre thème.
Pour les feuilles de style des modules, le framework utilise le même système que celui des thèmes cité plus haut.
Remplacez donc :

{ALTERNATIVE_CSS}
par
{MODULES_CSS}



Le favicon



Ensuite, nous allons remplacer l'appel statique de la favicon, car celle-ci est maintenant paramétrable depuis le panneau d'administration.
Remplaçons donc :

Code TPL :
<link rel="shortcut icon" href="{PATH_TO_ROOT}/favicon.ico" type="image/x-icon" />


Par :

Code TPL :
		# IF C_FAVICON #
		<link rel="shortcut icon" href="{FAVICON}" type="{FAVICON_TYPE}" />
		# ENDIF #



Javascript



Pour les besoins de cette nouvelle version, il faut également ajouter une ligne qui servira à récupérer le nom du thème sous JavaScript :
var THEME = "{THEME}";


Que nous placerons en dessous de :

var TOKEN = "{TOKEN}";



A la suite, si vous trouvez cette ligne :

Code TPL :
# IF C_BBCODE_TINYMCE_MODE # <script type="text/javascript" src="{PATH_TO_ROOT}/kernel/framework/content/tinymce/tiny_mce.js"></script> # ENDIF #


Supprimez la, elle n'est plus utilisée sous la version 4 (TinyMCE est maintenant géré comme un module).

Les fichiers JavaScript ayant été déplacés du dossier '/kernel/framework/js/scriptaculous/' au dossier '/kernel/lib/js/scriptaculous/', il va falloir modifier leurs chemins d'accès.
Par exemple, transformez les :

Code TPL :
<script type="text/javascript" src="{PATH_TO_ROOT}/kernel/framework/js/scriptaculous/prototype.js"></script>


En :

Code TPL :
<script type="text/javascript" src="{PATH_TO_ROOT}/kernel/lib/js/scriptaculous/prototype.js"></script>





Cette version nous apporte également la possibilité de changer le logo du site sans toucher aux fichiers, uniquement depuis le panneau d'administration.
Nous allons donc ajouter le code qui servira à appeler le logo personnalisé.

Placez ces lignes en dessous de la balise Code TPL :

Code TPL :
# IF C_HEADER_LOGO #
		<style type="text/css">
			div#header_container {
   				background: url('{HEADER_LOGO}') no-repeat;
			}
		</style>
	# ENDIF #
 



Code de la maintenance



Ensuite, nous allons remplacer toute la partie concernant la maintenance, qui est maintenant externalisée.
Supprimez donc :

Code TPL :
# IF C_MAINTAIN_DELAY #
# IF C_ALERT_MAINTAIN #
<div style="position:absolute;top:5px;width:99%;">
	<div style="position:relative;width:400px;margin:auto;margin-top:30px;" class="warning">
		{L_MAINTAIN_DELAY}
		<br /><br />
		<script type="text/javascript">
			document.write('<div id="release">{L_LOADING}...</div>');
		</script>
		<noscript>
			<strong>{DELAY}</strong>
		</noscript>
	</div>
</div>
# ENDIF #
 
<script type="text/javascript">
<!--
var release_timeout_seconds = 0;
function release(year, month, day, hour, minute, second)
{
	if (document.getElementById('release'))
	{
		var sp_day = 86400;
		var sp_hour = 3600;
		var sp_minute = 60;
 
		now = new Date({MAINTAIN_NOW_FORMAT}+release_timeout_seconds++);
		end = new Date(year, month, day, hour, minute, second);
		release_time = (end.getTime() - now.getTime())/1000;
 
		if( release_time <= 0 )
		{
			document.location.reload();
			release_time = '0';
		}
		else
			timeout = setTimeout('release('+year+', '+month+', '+day+', '+hour+', '+minute+', '+second+')', 1000);
 
		release_days = Math.floor(release_time/sp_day);
		release_time -= (release_days * sp_day);
 
		release_hours = Math.floor(release_time/sp_hour);
		release_time -= (release_hours * sp_hour);
 
		release_minutes = Math.floor(release_time/sp_minute);
		release_time -= (release_minutes * sp_minute);
 
		release_seconds = Math.floor(release_time);
		release_seconds = (release_seconds < 10) ? '0' + release_seconds : release_seconds;
 
		document.getElementById('release').innerHTML = '<strong>' + release_days + '</strong> {L_DAYS} <strong>' + release_hours + '</strong> {L_HOURS} <strong>' + release_minutes + '</strong> {L_MIN} <strong>' + release_seconds + '</strong> {L_SEC}';
	}
}
if ({UNSPECIFIED})
	release({MAINTAIN_RELEASE_FORMAT});
else
{
	if (document.getElementById('release'))
		document.getElementById('release').innerHTML = '<strong>{DELAY}</strong>';
}
-->
</script>
# ENDIF #


Et mettez-y à la place un simple :

        # INCLUDE  MAINTAIN #


Et oui c'est tout. Je vous avais dit qu'il était plus léger ^^


C'est tout pour le header. Le reste sera plus rapide ;)


La preview du thème



Là où il n'y avait possibilité de ne présenter qu'une image de 240 pixels de large, la version 4 nous laisse maintenant en afficher plusieurs en taille réelle.
Je vous laisse donc créer autant de preview que vous voulez, et stockez les où vous le souhaitez (dans le dossier du thème bien sûr).
Notez tout de même leurs emplacements, car il faudra par la suite indiquer à PHPBoost où sont stockées ces images.

Seule recommandation : Les images doivent faire 1024 pixels de large.


Le fichier config.ini



Dernière étape avant de pouvoir utiliser ou distribuer votre thème, la modification du 'config.ini'.
Là aussi, ce fichier a été modifié afin de permettre aux graphistes de paramétrer leurs thèmes en fonction des besoins.

Modifications apportées :

  • 'left_column' et 'right_column' laissent place à 'columns_disabled', qui définit les emplacements de menu à désactiver à l'installation du thème.

    Par exemple, pour désactiver la colonne gauche et le sous entête, on entrera ceci :
    Code INI :
    columns_disabled=left;sub_header


    Pour info, voilà les différentes valeurs possibles :
    Code INI :
    header;sub_header;top_central;bottom_central;top_footer;footer;left;right
  • L'adresse de l'image de prévisualisation est maintenant indiquée dans le config.ini . On rétrograde me direz-vous ? Que nenni ! L'avantage est qu'il est maintenant possible d'afficher plusieurs images de prévisualisation, et en taille réelle s'il vous plaît :)
    Par exemple, pour définir 2 images de prévisualisation du thème, nous écrirons :
    Code INI :
    pictures="theme/images/theme.jpg,theme/images/apercu2.png"



Bien entendu, n'oubliez pas de changer la version de compatibilité du thème :
Code INI :
compatibility=4.0


Un oubli sur ce détail ne vous empêchera pas d'installer le thème sur la V4 mais affichera un avertissement peu rassurant si vous diffusez votre thème ;)

N'oubliez pas d'éditer les config.ini de chaque dossier langue de votre thème.



Vous pouvez maintenant importer le thème modifié dans votre installation PHPBoost version 4 !

[4.x] Les bases

$
0
0
Nous allons voir à travers cet article, les bases de la création d'un module.


Créer le dossier du module



Dans un premier temps, il va falloir créer un dossier à la racine de PHPBoost contenant tous les fichiers du module.
Le choix du dossier est important puisqu'il sera l'identifiant du module mais sera également présent dans les différentes urls.

Il est préférable de choisir un nom anglais pour rester cohérent avec le reste de PHPBoost.

Par exemple pour un module dictionnaire, il conviendrait parfaitement de choisir dictionary.


Créer le fichier de configuration : config.ini



Le fichier config.ini contient toutes les informations relatives au module à l'exception de son nom, sa description et les liens de l'administration.
Il faut le créer à la racine du module.

Celui-ci doit contenir au minimum les informations suivantes :

Code INI :
author="Auteur du module"
author_mail="Adresse email de l'auteur"
author_website="Lien vers la page de l'auteur"
version="Version du module"
date="Date de création sous forme : 27/10/11"
compatibility="Version minimum de PHPBoost compatible avec le module. Exemple : 4.0"
admin_main_page="Chemin vers la page d'administration principale du module"
admin_menu="Choix du menu dans l'administration où le menu doit apparaître. Nous avez le choix : index|administration|tools|members|content|modules"
home_page="Chemin vers la page principale du module"


D'autres choix sont disponible :

Code INI :
php_version="Version de PHP minimum pour exécuter le module. Exemple : 5.2.1"
repository="Lien vers le fichier XML de mise à jour s'il y en a un"
contribution_interface="Chemin vers la page de contribution du module"



Créer le fichier de description : desc.ini



Dans le dossier de votre module, il nous faut créer un dossier nommé lang.

Celui-ci contiendra autant de dossier que de langues.

Exemple : Si l'on souhaite rendre disponible la langue anglaise pour notre module, il nous faut créer un dossier english.
Pour la langue française, c'est french.

Dans un premier temps, nous allons créer un dossier nommé french dans le dossier lang.

Ensuite nous allons créer un fichier nommé desc.ini dans le dossier french.

Celui-ci doit contenir :

Code INI :
name="Le nom de votre module"
desc="La description de votre module"
admin_links=""



Les images des modules




Il y a deux types d'image pour notre module :

- le_nom_du_dossier_de_votre_module_mini.png qui doit être une image de 16 pixels de large et de long.
- le_nom_du_dossier_de_votre_module.png qui doit être une image de 32 pixels de large et de long.

A ce stade là, notre module sera visible dans l'ajout d'un module dans l'administration.

[4.x] ModuleSetup

$
0
0
Dans la version 3.0, nous avions l'impossibilité de personnaliser l'installation et la désinstallation d'un module, outre le fait de travailler avec des fichiers SQL.

Dans la version 4.0, nous avons intégré un nouveau système qui permet d'aller bien plus loin : Le ModuleSetup.


Le fonctionnement



Il nous faut créer un fichier LeNomDeVotreModuleSetup.class.php qui contiendra une classe du même nom.

Cette classe est une classe fille de DefaultModuleSetup et devra contenir une fonction install() et uninstall().

Exemple :

Code PHP :
<?php
class MonModuleSetup extends DefaultModuleSetup
{
	public function install()
	{
 
	}
 
	public function uninstall()
	{
 
	}
}
?>


A chaque installation, et à chaque désinstallation, se fichier sera appelé. C'est donc à l'intérieur des deux fonctions que vous allez exécuter les différentes tâches que vous souhaitez faire. Créer des tables, les supprimer, etc.


La mise à jour d'un module



Vous allez également pouvoir faire les mises à jour de votre module à travers se fichier en rajoutant une fonction upgrade() :

Code PHP :
 
public function upgrade($installed_version)
{
	return null;
}


De cette manière, l'utilisateur qui mettra à jour le module à travers l'administration, ne perdra pas ses données en cas de changement au niveau des tables ou autres. C'est à vous maintenant de procéder à la conversion des différentes choses.

L'argument passé en paramètre renvoi le numéro de version installée sur le serveur de l'utilisateur. En valeur de retour, il faudra renvoyer le nouveau numéro de version. Si la fonction ne retourne rien ou est nulle, alors la page de mise à jour renverra une erreur à l'utilisateur.

[4.x] La communication entre module

$
0
0

Introduction



Certains modules doivent communiquer avec les autres pour avoir différentes informations.

C'est le cas du module recherche par exemple qui a besoin de connaitre un certain nombre de choses.

Cette communication n'est pas seulement limitée aux modules, elle peut également se faire entre plusieurs modules et l'administration ou le noyau. C'est grâce à cette communication que nous pouvons créer des mini-modules.


Le principe



Le principe est simple. Nous avons besoin de créer un seul et même fichier dans notre module. Celui-ci contiendra une classe.

La syntaxe est là suivante : LeNomDeVotreModuleExtensionPointProvider.
Pour le module news, la syntaxe est : NewsExtensionPointProvider.

Nous allons donc créer un fichier LeNomDeVotreModuleExtensionPointProvider.class.php.

A l'intérieur de ce fichier, nous allons créer une classe fille de ExtensionPointProvider avec comme nom : LeNomDeVotreModuleExtensionPointProvider.
Le constructeur de la classe attend un paramètre qui est l'identifiant du module (le nom du dossier du module).

Cela donne :

Code PHP :
class LeNomDeVotreModuleExtensionPointProvider extends ExtensionPointProvider
{
	public function __construct()
	{
		parent::__construct('VotreModule');
	}
}
?>


Notre fichier de communication est fin prêt à être utilisé.

Il vous faut maintenant implémenter diverses fonctions.

[4.X] content.css

$
0
0

Introduction



Nous allons maintenant passer au fichier content.css, celui-ci inclut le design de tout ce qui touche les modules, les minis modules ainsi que les commentaires et encore bien d'autres choses que vous allez découvrir au fur et a mesure.


Les conteneurs




Code CSS :
/* Conteneur */
div.block_container {
    width:auto;
	margin:10px auto;
    border:1px #cccccc solid;
    background:#F7F8F5 url(images/contentbg.png) repeat-x;
    -moz-border-radius:12px;
    -khtml-border-radius:12px;
    -webkit-border-radius:12px;
    border-radius:12px;
}



Cette partie sert a définir les conteneurs, par exemple quand vous allez créer un menu de contenu, c'est cette classe qui va être prise en compte.


Code CSS :
    -moz-border-radius:12px;
    -khtml-border-radius:12px;
    -webkit-border-radius:12px;
    border-radius:12px;




Ceci sert à mettre des arrondis de 12 pixels sur tous les navigateurs sauf qu'Internet Explorer ne gère cette fonction qu'à partir de sa version 10. Si vous regardez bien le code, vous verrez que nous avons un arrière-plan dans les tons blanc ( #F7F8F5 ) ainsi que l'image contentbg.png qui est utilisé dans en grande partie dans le thème base, vous avez aussi un contour de 1 pixel en gris ( #cccccc )

Code CSS :
border:1px #cccccc solid;


Les tableaux




Code CSS :
/* Entête de conteneur et des tableaux */
div.block_top, table tr:first-child th {
    padding:5px 6px;
    color:#FFFFFF;
    background:#5D7C94 url(images/msg_top_row.png) repeat-x;
    text-align:left;
    font-size:0.75em;
    font-weight:bold;
    text-transform:uppercase;
}



Cette classe est utilisée dans les tableaux du thème, comme par exemple la galerie, je ne vais pas rentrer dans les détails puisqu'il n'y a rien d'exceptionnel dans cette partie là.


Les titres




Code CSS :
/* Titres */
h1 {
    color:#5C5C5C;
    font-size:18px;
}
 
h2.title {
    font-size:16px;
    font-weight:bold;
}
 
/* Titres */
h3.title {
    font-size:12px;
    font-weight:bold;
    display:inline;
}
 
/* Sous-Titres */
h5.sub_title { /* Titre des menu */
    font-size:12px;
    color:#515C68;
}
 
h6.sub_title2 { /* Sous titre dans les menu */
    font-size:12px;
    font-weight:bold;
    padding-top:4px;
    text-indent:10px;
    width:155px;
    height:32px;
    color:#515C68;
}



Le formulaire de contact



Le formulaire de contact ainsi que l'encadré qui va vous servir à mettre des commentaires ainsi que sur le forum.

Code CSS :
fieldset{
	font-family:"Lucida Grande","Lucida Sans Unicode",Verdana,'Bitstream Vera Sans',Times,serif;
	margin:20px 0;
	padding:6px;
	border:1px solid #CCCCCC;
	color:#445766;
	background:#eceeef;
	position:relative;
	-moz-border-radius:5px;
	-khtml-border-radius:5px;
	-webkit-border-radius:5px;
}
 


Les systèmes de messagerie



( Inclus messagerie privé, commentaires etc. )

Code CSS :
a.msg_link_pseudo {
	font-size:11px;
    color:#e8eaeb;
    font-weight:bold;
}
 
a.msg_link_pseudo:hover {
    color:#f2fbff;
    font-weight:bold;
}


Définit la couleurs ou doit apparaître le pseudo de la personne qui a laissé un commentaire.

Code CSS :
:hover


Présent dans la seconde classe définit le style à appliquer à l'élément au survol de la souris.

Code CSS :
 
.msg_container,.msg_container2 {
    /* Case contenant l'ensemble du message */
    background:#FFFFFF url(images/border.png) repeat-y right;
    margin-left:1px;
    overflow:hidden !important;
    height:auto !important;
    overflow:visible;
    height:1%;
    clear:both;
}
 
.msg_container2 {
    /*  Case contenant l'ensemble du message => Couleur alternative */
    background:#F4F9FA url(images/border.png) repeat-y right;
}



Classe contenant les messages, à savoir que msg_container2 définit un message sur deux.


Code CSS :
.msg_top_l{
	margin-right:0px !important;
	margin-right:-3px;
	height:34px;
	width:29px;
	background:#91BAD8 url(images/msg_top_l.png) no-repeat left;
	float:left;
}
 
.msg_top_r{
	margin-left:0px !important;
	margin-left:-3px;
	height:34px;
	width:21px;
	background:#91BAD8 url(images/msg_top_r.png) no-repeat right;
	float:right;
}
 
.msg_top {
	height:25px;
	background:#FFFFFF url(images/msg_top.png) repeat-x;
	padding-left:6px;
	margin-left:20px;
	margin-right:15px;
	padding-top:9px;
}
 
.msg_top a {
    color:#FFFFFF;
}


Barre du haut

Code CSS :
.msg_pseudo_mbr { /* Pseudo du membre */
    width:127px;
    background:#5D7C94 url(images/msg_top_row.png) repeat-x;
    padding:2px 4px;
    float:left;
    margin-right:0px !important;
    margin-right:-3px;
    margin-left:-127px !important;
    margin-left:-64px;
    margin-top:-4px;
}


Arrière plan du pseudo.

Code CSS :
.msg_top_row {
    /* Case au dessus du message, indique la date et les boutons d'administration */
    height:16px;
    background:#5D7C94 url(images/msg_top_row.png) repeat-x;
    font-size:11px;
    color:#e8eaeb;
    margin-right:1px;
    border-top:1px solid #325889;
    border-bottom:1px solid #325889;
    padding-top:4px;
    padding-left:127px;
    overflow:hidden !important;
    height:auto !important;
    overflow:visible;
    height:1%;
}


Toute la barre où il y a les icônes éditer, supprimer etc.

Code CSS :
 
.msg_info_mbr { /* Case des informations du membre */
    background:#E3EDF5;
    width:127px;
    padding:4px;
    float:left;
    font-size:10px;
    border-right:1px dotted #C4CED6;
}



Tout la partie qui contient l'avatar du membre, son statut ainsi que le groupe.

Signature du membre





Code CSS :
.msg_sign,.msg_sign2 { /* Signature du membre */
    background:#FFFFFF url(images/border.png) repeat-y right;
    padding:4px;
    font-size:11px;
    margin-left:136px;
    border-left:1px dotted #C4CED6;
}
 
.msg_sign2 { /* Signature du membre => Couleur alternative */
    background:#F4F9FA url(images/border.png) repeat-y right;
}


Code CSS :
 
.msg_sign_overflow { /* Signature du membre, fixe la hauteur maximale */
    height:auto !important;
    height:80px;
    width:99%;
    max-height:80px;
    max-width:99%;
    overflow:hidden;
}


Taille maximum de la signature du membre ( changer la valeur heigth:80px; )

Les modules



Code CSS :
.module_position {
    width:98%;
    margin:auto;
}
 
.module_top_l { /* Barre supérieure des modules */
 
}
 
.module_top_r {
 
}
 
.module_top {
    height:18px;
    text-indent:10px;
    font-size:12px;
    font-weight:bold;
    color:#515C68;
    border-bottom:2px solid #515C68;
}
 
.module_top a {
 
}
 
.module_top_title {
	float:left;
    font-size:12px;
	margin-left:3px;
	font-weight:bold;
}
 
.module_top_title img {
	margin-top:-2px;
}
 
.module_top_com {
	float:right;
}


Le haut des modules ( sur le thème base cette classe ne sert pas à grand chose )

Code CSS :
 
.module_contents { /* Contenu des modules */
    padding:20px 15px;
    padding-bottom:15px;
    clear:both;
    text-align:justify;
}



Partie entre le haut et la bas de chaque module, pareil que le module_top sur le thème base elle défini simplement la taille, pas plus.

Code CSS :
.module_bottom_l { /* Barre inférieure des modules */
 
}
 
.module_bottom_r {
 
}
 
.module_bottom {
    height:22px;
    padding:2px 0 15px 6px;
    font-size:10px;
}



Définit l'espace bas des modules.

Les minis modules




Définit tout l'ensemble des mini-modules.




Code CSS :
.module_mini_container { /*Placement des mini modules */
    width:180px;
    margin:0px;
    margin-bottom:10px;
	background:#F7F8F5 url(images/contentbg.png) repeat-x;
    border:1px #cccccc solid;
    border-spacing:1px;
    padding:5px;
    -moz-border-radius:12px;
    -khtml-border-radius:12px;
    -webkit-border-radius:12px;
    border-radius:12px;
}

[title=4]
Partie haute de chaque mini-modules.[/title]

Code CSS :
.module_mini_top {
    height:24px;
    font-weight:bold;
    text-align:center;
}



Partie centrale des mini-modules.




Code CSS :
.module_mini_contents {
    border-top:none;
    border-bottom:none;
    text-align:center;
    padding:4px;
    padding-top:5px;
    padding-bottom:0px;
}



Partie basse des mini-modules.




Code CSS :
.module_mini_bottom { /* Bordure inférieure des modules minis */
    height:15px;
}



Vous voilà à la fin du fichier content.css, je n'ai passé en revu que les éléments les plus importants, le reste n'est utile que si vous souhaitez personnaliser à fond votre thème.

[4.X] global.css

$
0
0
Le global.css contient les classes globales du site, qui peuvent être utilisées par les modules et le noyau (par exemple dans l'administration etc).


Cases et tableaux du site



Code CSS :
.row1,.block_contents1 {
    background:#E0E9EF;
	padding:8px 6px;
	border-top:1px solid #CCCCCC;
}
 
.block_contents1 {
    padding:20px 6px;	
}
 
.row2,.block_contents2 {
	padding:8px 6px;
	border-top:1px solid #CCCCCC;
	-moz-border-radius:0px 0px 5px 5px;
	-khtml-border-bottom-right-radius:5px;
	-khtml-border-bottom-left-radius:5px;
	-webkit-border-bottom-right-radius:5px;
	-webkit-border-bottom-left-radius:5px;
    border-radius:5px;
}
 
.block_contents2 {
    padding:20px 6px;	
}
 
.row3,.block_contents3 {
    background:#F2F7FB;
    border-color:#C4CED6;
    padding:8px 6px;
	border-top:1px solid #CCCCCC;
	-moz-border-radius:0px 0px 5px 5px;
	-khtml-border-bottom-right-radius:5px;
	-khtml-border-bottom-left-radius:5px;
	-webkit-border-bottom-right-radius:5px;
	-webkit-border-bottom-left-radius:5px;
    border-radius:5px;
}
 
.block_contents3 {
    padding:20px 6px;	
}


Cette partie est destinée aux cases et lignes des tableaux comme le bloc-notes du panneau d'administration ou encore la liste des articles du module.


Les liens



Les liens du site sont ordonnés par différentes classes :

Les liens globaux



Code CSS :
/* Lien du site
--------------------------------------*/
a {
	color:#445766;
    text-decoration:none;
    font-size:11px;
    font-weight:bold;
    font-family:Verdana, Arial, Helvetica, sans-serif;
}
 
a:hover {
    color:#2F404D;
    text-decoration:underline;
    font-weight:bold;
    font-family:Verdana, Arial, Helvetica, sans-serif;
}


Ces liens sont les plus utilisés (par exemple dans les news, forum etc)


Les liens images



Code CSS :
 
.img_link, .img_link:hover{
	text-decoration:none;
}
 


Cette classe sert à masquer les espaces récalcitrants situés après les balises images de liens.



Code CSS :
/* Liens petite taille */
a.small_link {
    font-size:10px;
}
 
a.small_link:hover {
    font-size:10px;
}


Ces liens de petite taille sont utilisés par exemple dans les mini modules (comme le Livre d'or, Statistiques,..)




Code CSS :
/* Liens grande taille */
a.big_link {
    font-size:15px;
}
 
a.big_link:hover {
    font-size:15px;
}


Moins présents, on les rencontre en tant que titre des fichiers dans le module multimédia ou encore download.


Liens des commentaires



Code CSS :
/* Liens des commentaires. */
a.com {
    color:#515C68;
    font-size:10px;
    font-weight:bold;
}
 
a.com:hover {
    color:#01528D;
    font-size:10px;
    font-weight:bold;
}


Pas de suspense, ces liens sont ceux qui redirigent vers les commentaires.


Liens des utilisateurs



Code CSS :
a.admin {
    color:#FFA34F;
    font-size:11px;
    font-weight:bold;
}
 
a.modo {
    color:#006699;
    font-size:11px;
    font-weight:bold;
}
 
a.membre {
    color:#000000;
    font-size:11px;
    font-weight:bold;
}


Ils colorient les pseudos selon le rang de l'utilisateur (admin en orange etc).


Les menus dynamiques



Code CSS :
/* Lien du menu */
.dynamic_menu h5 {
    color:#515C68;
    background:#F2F7FB;
    border:1px solid #C4CED6;
	margin-right:2px;
	-moz-border-radius-topleft:12px;
    -khtml-border-radius-topleft:12px;
    -webkit-border-top-left-radius:12px;
    -moz-border-radius-bottomright:12px;
    -khtml-border-radius-bottomright:12px;
    -webkit-border-bottom-right-radius:12px;
    border-radius:12px;
}
 
.dynamic_menu h5:hover {
    color:#01528D;
    background:#eaedee;
}
 
/* Séparateur */
.dynamic_menu ul li.separator {
    background:#849AAC;
}
 
.dynamic_menu ul li.extend {
	background:url(images/bgmenu_extend.png);
}
 
/* Case du menu */
.dynamic_menu li ul {
    border:1px solid #849AAC;
}
 
.dynamic_menu li li {
    color:#0578CC;
    background:#FFFFFF url(images/bgmenu.png) repeat-y;
}
 
.dynamic_menu li li a {
    color:#0578CC;
}
 
.dynamic_menu li li a:hover {
    background-color:#D2E3F1;
    border:1px solid #8BBFE8;
}


Ces classes mettent en forme les liens et les cases des menus dynamiques, c'est à dire les menus horizontaux et verticaux déroulants.


Divers



Ce fichier de style définit également :


Résultats de la recherche de membres



Code CSS :
.xmlhttprequest_result_search {
    overflow:auto;
    height:100px;
    width:100px;
    overflow:auto;
    font-size:11px;
    background:#f5fbff;
    border:1px solid #2C5169;
    color:#061729;
    padding:2px;
}



Affichage du mini calendrier



Code CSS :
.calendar_block {
    position:absolute;
    text-align:center;
    padding:6px 4px;
    background:#f5fbff;
    border:1px solid #2C5169;
    bottom:28px;
    width:204px;
    z-index:100;
}



Déplacement des fichiers



Code CSS :
.upload_selected_cat {
    background:#f5fbff;
    border:1px solid #2C5169;
}


Cette classe s'applique uniquement dans la fenêtre 'Gestion des fichiers'.

PHPBoost 1.5.0

$
0
0
Sortie en juin 2006, PHPBoost 1.5.0 rime avec optimisation. Le maximum d'informations est mis en cache afin d'améliorer la rapidité, la réécriture des adresses (URL Rewriting) fait son apparition afin d'optimiser le référencement. La gestion de groupes d'utilisateurs est aussi gérée, afin de donner des autorisations spécifiques sur chaque catégorie du forum par exemple.


Changelog




  • Système de sessions intégralement recodé. Suivi des utilisateurs plus précis et lien vers la page consultée par le membre dans l'administration
  • Gestion des groupes, avec autorisations d'accès, modération et autres options sur le forum accordés aux groupes paramétrable
  • Sondages sur le forum
  • Gestion de l'URL Rewriting
  • Gestion des catégories pour les articles
  • Système d'avertissements aux membres sur le forum (modérateur et administrateur), à 10 avertissements le membre est banni
  • Affichage date/heure, et éditeur d'un message sur le forum. Activable/désactivable suivant configuration. Possibilité de supprimer le marqueur d'édition pour les membres d'un groupe
  • Activation du compte membre par lien envoyé par mail. (Activable/désactivable)
  • Liste déroulante pour changer facilement, et instantanément de forum
  • Système de mise en cache des requêtes SQL "statiques"
  • Nouvelles architectures orientées objets: SQL, sessions, pagination, mails, benchmark du site, et RSS
  • Connexion avec les cookies bloqués possible
  • Possibilité de mettre un règlement à accepter à l'inscription
  • Nouvelle balise Flash [swf]
  • Nouveau champ Biographie dans le profil membre pour se décrire
  • Vue de la dernière connexion dans la liste des membres et tri possible sur cette date
  • Reprise du message de la page précédente sur le forum
  • Possibilité de modifier l'adresse des liens ajoutés dans l'administration
  • Nouvelle fonction d'ouverture des photos de la galerie en popup (plus grande)
  • Statistique : Nombre de visites totales depuis le lancement du site
  • Statistique : Provenance géographique des visiteurs.
  • Statistique : Vue du graphique de visites sur les mois en plus des jours
  • Possibilité de modifier la durée de validité du cookie des sondages
  • Nouveaux boutons sur le forum pour tous les statuts, bouton clignotant pour les sujets de plus d'une page
  • Passage automatique des URLs sans la balise [url]
  • Détection des robots d'exploration par plage IP, ajout de nouveaux robots
  • Meilleure intégration du moteur de recherche dans le forum
  • Nouvelle interface pour la gestion des catégories du forum
  • Corrections et améliorations du fonctionnement des messages vu/non vus
  • Améliorations de la fonction d'insertion du BBcode
  • Nombreuses optimisations SQL, et optimisations du code
  • Code HTML et CSS en partie recodé
  • 5 nouveaux smileys, nouvelles icônes sur le forum

PHPBoost 1.6.0

$
0
0
Sortie le 10 septembre 2006, PHPBoost 1.6.0 est le fruit de 3 mois de développement intensif. De nombreuses nouveautés font leur apparition, comme notamment un module de gestion de contenu en BBCode ou HTML, une newsletter avec 3 formats d'envoi, un système de messagerie privée plus approfondi avec accusé de réception, un module de sauvegarde et de restauration de base de données avec stockage des sauvegardes directement sur le serveur, un système de suivi des messages sur le forum avec possibilité de notification de réponse par mail, flux RSS sur le forum et sur les articles, une nouvelle interface d'administration plus claire et intuitive, la possibilité de choisir la page de démarrage (vous n'êtes plus obligé d'avoir les news en accueil), une nouvelle barre d'arborescence pour un meilleur confort de navigation.


Changelog



  • Nouveau système de messages privés, avec limite sur la boite du membre. Possibilité d'éditer les messages si le destinataire ne les a pas encore lu. Marqueur de lecture par le destinataire, et moteur de recherche (Ajax) de membre intégré
  • Module Newsletter (avec envoi au choix en texte, HTML, et BBCode) avec gestion des archives
  • Possibilité de scinder (couper en 2) les sujets sur le forum à partir de n'importe quel message à destination de la catégorie voulue.
  • Possibilité de sélectionner des sujets du forum à suivre, une interface permet de les consulter.
  • Notification par mail de réponse sur les sujets suivis (activable/désactivable), si le membre est hors ligne
  • Module de création automatisé de pages texte/PHP avec choix du niveau d'accès, possibilité de créer des arborescences, catégories, de supprimer la colonne de droite, etc.
  • Nouvelle classe de gestion du cache du site, plus sûre et optimisée
  • Flux RSS du forum, et des articles (permet d'afficher les 10 derniers ajouts sur son site ou d'autres)
  • Sauvegarde/Importation automatique de la base de donnée depuis l'administration
  • Possibilité de mettre le site en maintenance, et restreindre l'accès
  • Prévisualisation (Ajax) sur tous les formulaires texte
  • Lien pour afficher tous les messages du membre sur le forum dans son profil
  • Moteur de recherche (Ajax) de membre, dans la page membre et dans l'administration (gestion des groupes, et gestion des membres)
  • Possibilité d'avertir les modérateurs d'un sujet non conforme sur le forum
  • Nouvelle interface pour l'administration
  • Possibilité de choisir la page de démarrage du site
  • Refonte du module mini statistiques, lecture du cache des informations (dernier membre, nombre de membres)
  • Nouveau champs dans les autorisations des groupes, permettant de désactiver l'approbation des articles/liens web/news pour le groupe
  • Liste déroulante des images disponibles avec aperçu pour les groupes d'utilisateurs et les rangs du forum dans l'administration
  • Refonte du moteur de recherche du forum, beaucoup plus rapide et avec classement par pertinence de la réponse
  • Affichage des groupes du site ainsi que les personnes en faisant parties dans la page membre
  • Icônes devant les sujets contenant un sondage
  • Nouvelle balise [strike], permet de barrer le texte.
  • Possibilité de redimensionner le champ texte avec les flèches
  • Nouvelle interface pour le BBCode
  • Refonte de la barre de lien rapide
  • Page de test du support de l'URL Rewriting
  • Envoi anonyme du message privé lors d'un avertissement sur le forum
  • Système de protection anti-bots, bloquant les messages contenant un nombre de lien abusif
  • Délestage automatique de la shoutbox à partir de 100 messages
  • Possibilité de modifier le nombre de vue des articles
  • Système de gestion des erreurs, numérotées
  • Ajout du cache des catégories du forum
  • Suppression d'une faille XSS
  • Suppression d'un bug de connexion automatique
  • Suppression d'un bug présent dans la balise [swf]
  • Corrections diverses de bugs mineurs

PHPBoost 2.0

$
0
0
Sortie le 4 novembre 2007, après 3 mois de tests en version bêta et plus d'un mois de tests en version RC, la version 2.0 de PHPBoost est enfin arrivée. Ces longues périodes de test lui auront permis d'acquérir une stabilité conséquente, elle est maintenant suffisamment fiable pour faire un site sans problèmes.
Niveau nouveautés, tout a été revu. Le code a entièrement été réécrit, la structure a complètement changé, puisque maintenant PHPBoost est un noyau qui permet de faire tourner des modules. Ces deux parties sont indépendantes, on peut très facilement installer des modules ou en supprimer, elle est entièrement modulable.


Changelog



Noyau



Structure et fonctionnement:

- Nouveauté : Nouvelle architecture de PHPBoost totalement remaniée
- Nouveauté : Nouvelle interface d'administration plus ergonomique, et plus claire
- Nouveauté : Refonte complète des sources HTML et de l'organisation des feuilles de style (CSS)
- Nouveauté : Nouvel installateur
- Nouveauté : Généralisation des autorisations des groupes à l'ensemble des modules, multi-groupes gérés totalement
- Nouveauté : Gestion possible de nouveaux systèmes de base de données: PostgreSQL, Oracle, SQLite, MySQLi, etc. et logique booléenne des tables rétablie.
- Nouveauté : Gestion complète de tout les modules du site et des modules additionnels, interface d'administration intuitive, installation/désinstallation/mise à jour des modules automatiséé, upload du module automatisé (support des fichiers zip, tar), activable/désactivable, gestion du cache avec autorisations d'accès et de modération (gérable en plus avec les groupes). Alerte pour chaque module lors de leur mise à jour
- Nouveauté : Gestion complète des d'erreurs, prise en charge de tous les types d'erreurs (fatales, avertissements, notifications, etc), archivage des erreurs avec interface de consultation des erreurs
- Nouveauté : Création de mini menu automatisé, déplacement des menus simplifié, prise en compte de la configuration du thème choisi
- Nouveauté : Système de gestion des médias, création de répertoires virtuels (galerie d'images, animations flash, etc), interface étendue aux membres avec limite d'upload configurable
- Nouveauté : Possibilité de différer la date de parution d'un contenu, définir un intervalle d'affichage, à la date prévue le contenu est automatiquement affiché
- Nouveauté : Ajout et gestion des champs supplémentaires dans le profil membre, différent types supportés, validation possible des données du champ (par expression régulières)
- Nouveauté : Système de gestion des thèmes, upload du thème automatisé (support des fichiers zip, tar), prévisualisation possible, possibilité de restreindre le niveau d'accès du thème, de le désactiver, infos présentes pour chaque thème (description, auteurs, ...)
- Nouveauté : Système de gestion des langues, upload de langue automatisé (support des fichiers zip, tar), possibilité de restreindre le niveau d'accès de la langue, de la désactiver
- Nouveauté : Possibilité de bloquer l’inscription aux membres
- Nouveauté : Possibilité de mettre des utilisateurs en lecture seule pour une durée déterminée (interdiction de poster)
- Nouveauté : Code visuel de vérification à l'inscription, permet d'éviter les robots
- Nouveauté : Rang rédacteur dans les groupes, donne accès aux news/articles/liens web dans une interface dédiée
- Nouveauté : Ajout du choix d'activation, par l'administrateur, du compte membre après l'inscription (direct, mail, manuelle)
- Nouveauté : Connexions multiples possibles
- Nouveauté : Système d'affichage des erreurs SQL étendu, permettant un débogage plus rapide
- Nouveauté : Exportation au format SQL valide. Possibilité d'exécuter des requêtes SQL, affichage du résultat et coloration syntaxique
- Nouveauté : Mini calendrier Ajax, facilitant la saisie des dates, généralisé à l'ensemble des modules
- Nouveauté : Possibilité d'exécuter directement des requêtes SQL dans l'administration
- Nouveauté : Support complet des fichiers SQL au format classique
- Nouveauté : Nouvelle interface BBCode
- Nouveauté : Alerte automatique si une nouvelle version de PHPBoost est disponible


- Reprise de l'intégralité des formulaires HTML
- Refonte du système de message privé, utilisation simplifié pour l'intégration aux modules
- Possibilité de marquer tout les messages privés comme lus
- Amélioration de la gestion de l'URL Rewriting (plus performante)
- Gestion de l'URL Rewriting dans la pagination
- Possibilité d'uploader les smileys automatiquement sans passer par le serveur
- Possibilité d'uploader les images des rangs automatiquement sans passer par le serveur
- Possibilité de choisir un rang d'autorisation pour les catégories (et mise en cache) : Galerie, Liens web, Téléchargements
- Possibilité d'associer une image aux catégories (news, articles, liens web et téléchargements), avec explorateur d'image
- Age du profil membre remplacé par la date de naissance (jj/mm/aaaa), permet de connaitre l'age exact à tout moment
- Possibilité de définir un délai après lequel les membres non approuvés sont supprimés automatiquement
- Liens pour trier sur divers critères (nombre de vues, alphabet, etc...) dans les modules articles, liens web et téléchargements
- Possibilité de désactiver la fonction d'upload d'avatars sur le serveur
- Possibilité de définir un texte à afficher sur la page de maintenance lorsqu'elle est activée
- Possibilité d'afficher (ou non) la durée de la maintenance du site, affichage du délai restant en temps réel
- Restriction des balises BBcode dans certains module afin d'éviter des contenus indésirables, configurable directement dans l'administration
- Statistiques dans l'administration
- Balise [table], gestion complète des tableaux imbriqués, fusion des lignes/colonnes et styles CSS
- Balise [hide], permet de cacher le texte, et l'afficher lors d'un clic sur celui-ci
- Balise [indent], permet d'indenter le texte (similaire à des tabulations)
- Balise [anchor], permet de créer des ancres vers un endroit spécifique de la page
- Balise [float], permet de déplacer des éléments en utilisant le positionnement flottant
- Balise [sound], permet de lire des musique au format mp3 avec le lecteur intégré
- Balise [sup], permet de formater le texte en exposant
- Balise [sub], permet de formater le texte en indice
- Balise [list], améliorations et nouveaux arguments possible (listes ordonnées)
- Possibilité de renvoyer le code de déverrouillage de l'administration
- Connexion automatique après inscription si l'activation du compte désactivée
- Redirection automatique vers l'installation de PHPBoost lors de la première connexion
- Nouvelle sécurité si register_globals activé




Modules



News :

- Nouveauté : Gestion totale de la parution des news, date de début/fin d'affichage, intervalle d'affichage
- Nouveauté : Gestion des catégories pour les news, avec description et icône associé à la news (désactivable), lien permettant l'affichage des news par catégories
- Nouveauté : Possibilité de tronquer l'affichage de la news, un lien permet de lire la suite
- Nouveauté : Gestion du système de média intégré aux news, permet l'ajout simplifié des images
- Nouveauté : Possibilité de changer la date de parution de la news (classement des news possible)
- Nouveauté : Possibilité d'afficher les news sur plusieurs colonnes (configurable)
- Ajout du titre de la news dans l'URL Rewriting

Forum :

- Nouveauté : Création de sous-forums illimité
- Nouveauté : Gestion complète des multi-groupes, gestion des droits très fine (lecture, écriture, édition) pour chaque catégorie et pour chaque groupes. Autorisations globales des groupes sur le forum (flood, marqueurs d'édition, etc..)
- Nouveauté : Suppression des messages instantanés sur le forum (sans rechargement de la page grâce à Ajax)
- Nouveauté : Intégration du module de gestion des médias, ajout d'images sur le forum automatisé par attachement de l'image au message
- Nouveauté : Possibilité de choisir d'être prévenu (ou non) lors d'un nouveau message par messages privés ou par mails (si déconnecté du site), pour chaque sujets suivis du forum. Ajout d'une option de suppression des sujets suivis
- Nouveauté : Possibilité d'afficher les derniers messages lus, afin de faciliter leur suivi
- Nouveauté : Possibilité de masquer les menus de gauche et droite
- Possibilité de prédéfinir un texte inséré devant le sujet, ajouté automatiquement à l'édition (ex: [Résolu] Nom du sujet)
- Possibilité de choisir le contenu du message envoyé lors de l'avertissement/mise en lectures seule d'un membre
- Nouvelle page de statistiques, ajout de la moyenne de sujets/messages par jour et du nombre de sujets/messages total et de la journée
- Possibilité de mettre à jour les données en cache (recompte le nombre de sujets et de messages pour chaque catégories)

Articles :

- Nouveauté : Gestion totale de la parution de l'article, date de début/fin d'affichage, intervalle d'affichage
- Nouveauté : Sous-catégories infinies
- Possibilité d'afficher les catégories sur plusieurs colonnes (configurable)

Téléchargements :

- Nouveauté : Gestion totale de la parution du téléchargement, date de début/fin d'affichage, intervalle d'affichage
- Possibilité d'afficher les catégories sur plusieurs colonnes (configurable)
- possibilité de forcer le téléchargement
- Mise en cache des catégories

Sondages :

- Nouveauté : Gestion totale de la parution des sondages, date de début/fin d'affichage, intervalle d'affichage
- Refonte complète du système de sondage, moins lourd et mieux optimisé

Galerie :

- Nouveauté : Refonte complète du module, avec gestion des sous-albums infinis
- Nouveauté : Nouveau mode d'affichage des images (plein écran, agrandissement, etc...)
- Nouveauté : Interface de visualisation avec défilement des miniatures
- Menu défilant avec affichage de plusieurs photos (configurable) dans ordre aléatoire (mini galerie)

Commentaires :

- Nouveauté : Code anti-robot
- Nouveauté : Possibilité de verrouiller les commentaires

Liens web :

- Possibilité d'afficher les catégories sur plusieurs colonnes (configurable)
- Mise en cache des catégories

Calendrier :

- Corrections, améliorations et intégration du mini-calendrier en popup pour la saisie des dates

Contact :

- Code de vérification anti-robots

Livre d'or :

- Configuration du livre d'or dans l'administration, rang pour pouvoir poster, balises interdites...

Shoutbox :

- Délestage automatique des messages, configurable et désactivable
- Configuration de la shoutbox dans l'administration, rang pour pouvoir poster, balises interdites...

Liens Web :

- Liens en dur (adresse directe sur le bouton) avec compteur

Statistiques :

- Refonte du système de détection des statistiques
- Présentation graphique en "camembert" dans les statistiques
- Pourcentage homme/femme

Wiki :

- Nouveauté : Module Wiki, nombreuses fonctions de gestion du contenu permettant la création de données communautaire très simplement. Gestion des autorisations des groupes pour chaque action, catégories infinies, historique des actions, sauvegarde de chaque action avec retour en arrière possible, génération d'arborescence automatisé, création de liens rapides, redirections infinies, etc.

Corrections :

- Bug corrigé dans les statistiques des visites
- Bug corrigé dans le calcul du total des news, provoquant des problèmes d'affichage

PHPBoost 3.0

$
0
0
A l'origine, lorsque le développement a commencé il s'agissait simplement d'une évolution, celle-ci visait à améliorer des fonctionnalités et en ajouter de nouvelles. Cependant notre vision de la programmation sur le web, et en général, évoluant de pair avec PHPBoost, nous avons voulu moderniser notre code en profondeur. En effet l'architecture interne ne nous convenait plus, et était devenue limitée.

Le temps de développement conséquent est le fait de notre décision de repartir sur une base saine. Le framework PHPBoost 3.0 est le fruit de ce travail en interne. Il n'apporte pas de fonction visible car c'est le moteur qui se situe en dessous des modules. Cependant c'est bien à ce nouveau framework que l'on doit les nouvelles fonctions implémentées. Ce nouvel environnement de développement offre aux développeurs du noyau et des modules des outils permettant d'accélérer leur travail.

La sortie de PHPBoost 3.0 finale est l'occasion de vous donner un petit retour sur plus d'un an et demi de développement intensif. Voici, à titre indicatif, quelques chiffres :

  • 1,5 an de développement
  • Plus de 2800 révisions sur le SVN de développement
  • Plus de 800 rapports de bugs entre la première version Alpha et la sortie finale
  • 20 modules livrés dans le pack complet


Un article plus complet détaille l'ensemble des évolutions majeures apportées par PHPBoost 3 : Nouveautés de PHPBoost 3 !


Changelog



Structure et fonctionnement :

  • Nouveauté : Nouveau moteur de templates, avec système de cache intégré et nouvelles fonctionnalités
  • Nouveauté : Intégration d'un éditeur texte temps réel (WYSIWYG) Tinymce, configurable dans le profil avec choix BBcode ou Tinymce
  • Nouveauté : Panneau de contribution permettant de centraliser toutes les contributions de tous les modules
  • Nouveauté : Refonte totale du moteur d'interprétation du BBCode. Ajout de nouvelles balises parmi lesquelles block, fieldset, acronym, HTML qui permet d'insérer du code HTML (seulement pour les personnes autorisées). Colorateur de BBCode et Templates PHPBoost ajouté. Support de l'imbrication de toutes les balises
  • Nouveauté : Système de communication entres les modules et le noyau (Framework PHPBoost)
  • Nouveauté : Nouveaux outils standardisés communs aux modules (Recherche, dernier ajouts, etc) (Framework PHPBoost)
  • Nouveauté : Amélioration du système d'autorisation, possibilité de gérer en plus des groupes multiples chaque membre individuellement
  • Nouveauté : Système d'ajout de menus personnel automatisé, création pour les débutants facilité
  • Nouveauté : Détection automatisée des menus non installés, possibilité d'associer plusieurs menus à un module
  • Nouveauté : Nouveau système de menu dynamique (déroulant), avec sous-menus infinis
  • Nouveauté : Nouveau système de menu de flux, pouvant gérer les derniers ajouts sur les modules (ex: derniers sujets du forum, derniers média ajoutés, ...)
  • Nouveauté : Nouvelle interface de déplacement des menus (drag 'n drop)
  • Nouveauté : 5 Nouveaux placements possible des menus (Tête de page/Haut/Centre haut/Centre bas/Pied de page)
  • Nouveauté : Intégration d'un nouveau colorateur syntaxique (Geshi), support de nombreux langages
  • Refonte totale des commentaires. Intégration simplifiée dans les modules
  • Nouveauté : Interface de visualisation/édition des commentaires du site
  • Nouveauté : Nouvelle gestion de l'éditeur de contenu, désactivation des balises améliorée
  • Nouveauté : Gestion du temps global (GMT), et du décalage horaire
  • Nouveauté : Gestionnaire automatisé des catégories infinies (Framework PHPBoost)
  • Nouveauté : Système de gestion des mises à jour du noyau et des modules avec gestion de différents dépôts
  • Nouveauté : Ajout d'un proxy web permettant d'effectuer des requêtes asynchrones sur des sites distants
  • Nouveauté : Gestions des liens du site, duplication possible. Gestion des menus dynamiques (déroulants et extensibles), verticaux et horizontaux. Extension automatique suivant la page consultée
  • Nouveauté : Gestionnaire de commentaires (Framework PHPBoost)
  • Nouveauté : Gestionnaire de notation (Framework PHPBoost)
  • Nouveauté : Amélioration de l'approche de programmation orienté objet (POO, Framework PHPBoost)
  • Nouveauté : Support des autorisations avancées pour les menus
  • Nouveauté : Nouveau gestionnaire avancé de base de données, nombreux outils d'administration
  • Nouveauté : Enregistrement en XML des flux RSS/ATOM, intégration d'un parseur XML
  • Nouveauté : Nouveau système de captcha (anti-spam), avec différents niveaux de difficulté
  • Nouveauté : Amélioration du système des sessions, les modules gèrent les sessions pour les invités
  • Nouveauté : Nouvelle vérifications interactive (Ajax) dans l'inscription et dans le profil, permet de signaler instantanément les erreurs dans le formulaire
  • Nouveauté : Nouvel installateur
  • Nouveauté : Déplacement des fichiers/dossier dans l'administration
  • Système de cache amélioré
  • Système de cache, et de changement de jour pour les modules intégrés à l'interface de communication noyau/module
  • Gestion des mots de passe avec l'algorithme de cryptage sha256 en lieu et place du md5
  • Ajout au framework des éléments nécessaires pour traiter à l'avenir dans un nouveau module le plan du site. Ce module génèrera aussi le fichier sitemap.xml qui permet d'affiner le référencement dans les moteurs de recherches
  • Réorganisation du système d'autorisation
  • Valeurs par défaut dans les autorisations sur les groupes
  • Système de visualisation des messages du membre, possibilité de communication avec les modules pour récupérer les liens vers les messages
  • Possibilité de classer les modules dans les différents onglets de l'administration
  • Possibilité de désactiver les colonnes droite/gauche du thème
  • Possibilité de choisir finement le temps de maintenance du site
  • Possibilité de définir une limite d'upload dans le gestionnaire de fichier en fonction des groupes
  • Possibilité de définir un nombre maximum de messages privés en fonction des groupes
  • Possibilité de définir les extensions autorisées (une par une ou par groupe) dans le gestionnaire de fichier
  • Support de https dans l'installation et l'administration
  • Éditeur de .htaccess
  • Ajout du phpinfo dans l'administration
  • Possibilité de se déconnecter dans l'administration
  • Page d'erreur 404 lorsqu'une page n'est pas trouvée
  • Automatisation des configurations par défaut des modules
  • Nouveau système de chargement des langues/thèmes, avec déclenchement d'erreur en cas d'échec
  • Réorganisation du chargement de la tête de page
  • Cache pour les thèmes, les langues et les CSS
  • Amélioration de la gestion des groupes (ajout/édition/suppression)
  • Possibilité d'associer une couleur à un groupe, coloration du pseudo des membres du groupe
  • Nouveau système pour la barre d'arborescence (fil d’Ariane)
  • Possibilité d'insérer plusieurs CSS pour les modules
  • Possibilité de charger un CSS pour chaque mini-module
  • Nom des fichiers uploadés conservé (gestionnaire d'upload)
  • Ajout d'une interface affichant les informations sur le serveur et générant un rapport pour le support
  • Possibilité de désactiver les informations de temps de génération de page
  • Possibilité de désactiver les informations sur le thème utilisé
  • Message d'alerte lorsque le site est en maintenance, avec temps restant
  • Sauvegarde automatique du statut de la barre BBcode (étendu ou non)
  • Amélioration de l'insertion des balises BBcode
  • Message d'avertissement dans les commentaires si non autorisé à poster
  • Couleur alternée dans les messages (configurable par le CSS).
  • Ajout d'une barre de progression Ajax automatisée
  • Ajout de la balise fieldset
  • Ajout de la balise block
  • Ajout de la balise font, permet de changer la police d'écriture
  • Ajout de la balise bgcolor, permet de définir une couleur de fond
  • Ajout de la balise pre
  • Ajout de la balise acronym
  • Ajout de la balise line
  • Interface d'insertion (BBcode) pour la balise table
  • Interface d'insertion (BBcode) pour la balise list
  • Interface d'insertion (BBcode) pour la balise url
  • Possibilité de saisir des dates avant 1970 dans le mini calendrier
  • Diminution de la taille du copyright dans le pied de page
  • Changement du système de page de démarrage (plus fiable)
  • Capture de toutes les erreurs PHP par le gestionnaire, et archivage
  • Pose de verrous lors de l'écriture des fichiers de cache (plus sûr)
  • Nouveau système de gestion de lecture/écriture des fichiers sur le serveur
  • Nouvelle fonction de redirection
  • Amélioration du chargement des fichiers de configuration
  • Amélioration de la gestion des erreurs
  • Avertissement lors de l'exécution de requêtes SQL risquées dans l'administration, amélioration de l'interface et de la coloration syntaxique
  • Gestion amélioré des entités HTML
  • Récupération possible par les sessions des champs membres supplémentaires du site et des modules
  • Déplacement du code de connexion utilisateur
  • Regroupement des modules dans les templates
  • Nouvelles images pour les rangs
  • Amélioration dans la détection des statistiques des pays, navigateurs, et système d'exploitation
  • Ajout de Google Chrome dans les statistiques des navigateurs, ajout des téléphones mobiles
  • Conformation des requêtes au standard SQL
  • Amélioration des taches crons
  • Filtrage des bots (si URL Rewriting activé)
  • Correction du bug d'affichage des dossiers dans le gestionnaire de fichiers
  • Correction des bugs dû à l'option register_globals


Forum

  • Nouveauté : Réorganisation complète du code
  • Nouveauté : Possibilité d'ajouter un forum de type lien internet
  • Nouveauté : Lien précis vers l'action concernée dans l'historique du panneau de modération
  • Nouveauté : Interface pour visualiser partout sur le forum et instantanément les messages non lus
  • Nouveauté : Affichage du nombre de messages non lus
  • Nouveauté : Possibilité de se connecter/enregistrer à partir du forum (désactivable)
  • Nouveauté : Possibilité de voir uniquement les nouveaux messages d'une catégorie
  • Nouveauté : Coloration des résultats dans le moteur de recherche
  • Nouveau formulaire de recherche
  • Amélioration de l'interface d'ajout de forums
  • Amélioration de l'interface d'alertes sur les sujets
  • Amélioration de l'interface et du système de sondage
  • Alerte avant de marquer les sujets comme lus
  • Action "suivre le sujet", "changement du statut du sujet" sans rechargement de page
  • Option de recherche dans le titre et contenu des sujets
  • Réparation des bugs sur l'arbre intervallaire gérant les catégories
  • Correction de la fonction de comptage des sujets/messages


Galerie:

  • Nom des images uploadées conservé
  • Nouveau système de notation


News

  • Nouveauté : Possibilité de publier automatiquement des news à la minute près
  • Nouveauté : Lien vers la news précédente/suivante
  • Possibilité de masquer le nom du posteur de la news
  • Possibilité de masquer la date de la news


Articles

  • Nouveauté : Création d'une liste déroulante des pages consultables
  • Ajout de la balise nouvelle page
  • Nouveau système de notation


Téléchargement

  • Nouveauté : Possibilité aux membres de proposer des fichiers
  • Nouveauté : Nouveau système pour la gestion des catégories infinies (moins lourd et plus sûr)
  • Nouveauté : Nouvelle interface
  • Nouveau système de notation


Liens web

  • Nouveau système de notation


Statistiques:

  • Nouveauté : Graphiques en barre, et courbes
  • Ajout des pages vues par heures/jours/mois
  • Ajout du site de provenance des visiteurs
  • Ajout des mots clés qui ont amenés des visiteurs à partir de moteurs de recherche


Sondages:

  • Possibilité d'afficher les minis-sondages aléatoirement
  • Impossibilité de revoter pour les membres lorsque le niveau d'autorisation est réglé sur membre ou plus


Discussion:

  • Nouveauté : Ajout et suppression des messages en Ajax (sans rafraichissement de page)
  • Nouveauté : Possibilité d'actualiser la shoutbox toutes les X minute(s) (configurable)
  • Coloration du pseudo en fonction du rang


En ligne:

  • Ajout de la localisation du membre, et de la dernière mise à jour
  • Correction du nombre de visiteurs en ligne


Livre d'or:

  • Nouveauté : Menu affichant aléatoirement les derniers messages postés


Nouveau module:

  • Nouveauté : Module FAQ. Permet de gérer une liste de questions/réponses.


Nouveau module:

  • Nouveauté : Module Recherche. Possibilité de faire des recherches globales dans les modules (proposant la fonction) et coloration des résultats

[3.X]Présentation de PHPBoost

$
0
0

Présentation générale



PHPBoost est un CMS (Content Managing System ou système de gestion de contenu) français. Ce logiciel 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 aussi ravir les utilisateurs expérimentés qui souhaiteraient pousser son fonctionnement ou encore développer leurs propres modules.
PHPBoost est un logiciel libre distribué sous la licence GPL.

Comme son nom l'indique, PHPBoost utilise le PHP comme langage de programmation principal, mais, comme toute application Web, il utilise du XHTML et des CSS pour la mise en forme des pages, du JavaScript pour ajouter une touche dynamique sur les pages, ainsi que du SQL pour effectuer des opérations dans la base de données. Il s'installe sur un serveur Web et se paramètre à distance.

Comme pour une grande majorité de logiciels libres, la communauté de PHPBoost lui permet d'avoir une fiabilité importante car beaucoup d'utilisateurs ont testé chaque version et les ont ainsi approuvées. Il bénéficie aussi par ailleurs d'une évolution rapide car 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 gens nous ont aidés, rien qu'en nous donnant des idées, nous suggérant des modifications, des fonctionnalités supplémentaires.

Si vous ne deviez retenir que quelques points essentiels sur le projet, ce seraient ceux-ci :
  • Projet Open Source sous licence GNU/GPL
  • Code XHTML 1.0 strict et sémantique
  • Multilangue
  • Facilement personnalisable grâce aux thèmes et templates
  • Gestion fine des droits et des groupes multiples pour chaque utilisateur
  • Url rewriting
  • Installation et mise à jour automatisées des modules et du noyau
  • Aide au développement de nouveaux modules grâce au framework de PHPBoost


Afin de vous rendre compte un peu de la présentation graphique de PHPboost, vous pouvez consulter la rubrique Copies d'Ecran de PHPboost.

Historique



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. Le projet a déjà plus de quatre ans et dispose ainsi d'une certaine maturité.
Voici ensuite la liste des différentes versions qui ont été publiées depuis sa sortie :



Organisation de la communauté française



PHPBoost étant un logiciel français, la communauté française est la plus développée. Elle est dirigée par les développeurs et comporte plusieurs équipes qui se partagent les rôles afin de continuer le développement de PHPBoost.
Le support du logiciel est géré par les équipes correspondantes au sujet de la question et s'effectue sur le forum.

Voyons maintenant les différentes équipes travaillant sur PHPBoost :

EquipeObjectifs

Equipe PHPBoost
  • Gestion du projet (prise de décisions, coordination des équipes, communication)
  • Développement du noyau et de certains modules
  • Support
  • Direction de la communauté française
  • Rédaction de la documentation de développement


Équipe Rédaction
  • Rédaction de la documentation sur l'utilisation du logiciel
  • Aide aux utilisateurs


Équipe Traduction
Pour l'instant la traduction se fait uniquement vers la langue anglaise.
  • Traduire le logiciel dans des langues étrangères
  • Créer et entretenir des communautés dans chaque pays


Équipe Développements de modules
  • Développer de nouveaux modules en utilisant le framework PHPBoost


Equipe Graphismes
  • Créer des thèmes pour PHPBoost (à la demande ou selon leurs propres idées)
  • Aider les utilisateurs désirant créer leur thème (rédaction d'une documentation à ce sujet)



Remerciements



Vous pourrez retrouver ici la liste des sites ayant apporté leur soutien à notre projet, que ce soit en parlant du logiciel, en proposant le téléchargement de PHPBoost sur leur serveur ou de toute autre manière. Merci à eux dont vous pouvez voir la liste ici.
Voici aussi la liste des projets que nous souhaitons remercier parce qu'ils nous ont aidés à concevoir PHPBoost :


Notepad ++




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.


Tango Desktop Project




Tango Desktop Project est un projet visant à harmoniser les icônes des logiciels en fonction des différentes plate-formes utilisées. Ce pack d'icônes libres nous a permis de ne pas perdre de temps dans le développement graphique et ces boutons s'adaptent parfaitement à tous les thèmes. Merci à ce projet qui permet de donner plus de couleurs et de convivialité à PHPBoost.


PCLZIP



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.


PHPMathPublisher



PHPMathPublisher est un ensemble de fonctions permettant de mettre en forme des formules mathématiques à partir d'une syntaxe proche de celle du LaTeX.
Viewing all 35 articles
Browse latest View live