Atelier COAGUL : Découverte du CMS PHPBoost (Version 4.1)

Mardi 9 Décembre 2014

Atelier COAGUL



Découverte du CMS PHPBoost (Version 4.1)

Adrien D




Présentation rapide




PHPBoost est un système de gestion de contenu français (CMS) écrit en langage PHP et s'appuyant sur une base de données MySQL.
Définition : Un outil de « CMS » (Content Management System, en français Gestion de contenu) est un site web disposant de fonctionnalités de publication et offrant en particulier une interface d'administration (arrière-guichet ou back-office en anglais) permettant à un administrateur de site de créer ou organiser les différentes rubriques.
C'est un logiciel libre, distribué gratuitement, sous licence GNU/GPL, qui existe depuis 2005.
La simplicité étant un de ses points forts, son utilisation de base ne requiert quasiment aucune connaissance informatique particulière.


Les fonctionnalités





Un CMS tout en un




Beaucoup de sites sont composé de plusieurs CMS (Wiki, Forum, Pages)
Exemple : Mageia.org


PHPBoost regroupe tout dans la même interface (choix de l'équipe):
  • Le noyau : Le coeur du CMS
  • Les modules : 29 modules officiels développés par l'équipe PHPBoost (Assure la compatibilité en cas de mise à jour du CMS), et des modules non-officiels (de la communauté, pas de support)



PHPBoost est similaire au fonctionnement d'une distribution Linux :
  • Noyau du CMS ⇒ Noyau Linux
  • Les thèmes ⇒ L'environnement de bureau
  • Les modules ⇒ Les logiciels



L’administration




L'administration de PHPBoost est centralisée. Sous une même interface elle permet de définir la configuration du site, gérer les tâches de maintenance et fournit l'ensemble des outils d'administration des membres et du contenu. Elle regroupe également la plupart des administrations dédiées à chaque module, si celui-ci en a besoin.
  • Administration centralisée dans une interface unique (Configuration, maintenance, outils ;...)
  • Administration dédiée aux menus
  • Administration des modules
  • Des outils pratiques
  • Système de mise à jour du CMS et des modules




Les modules




Les modules sont complètement indépendants, et chacun peut créer sa propre combinaison de modules à utiliser sur un site. 
Articles : Module permettant de créer des articles classées selon un système de catégories infinies et niveaux d'accès correspondants, commentaires et notation pour chaque article.
Bac à sable : Ce module sert de dépôt de code de test utilisé pendant le développement de nouveaux éléments. Ce module est uniquement présent dans la version PDK (dédiée aux développeurs Web).
Base de données : Ce module vous procure un système complet de gestion de base de données.
BBcode : Module permettant l'édition de contenu en utilisant le langage Bbcode.
Calendrier : Ce module permet de gérer des évènements dans un calendrier avec possibilité de commenter un évènement.
Connexion : Ce module affiche une formulaire de connexion au site.
Contact : Module permettant aux utilisateurs du site de contacter par courrier électronique l'administrateur du site. Protection anti-robots.
Discussion : Module pouvant se placer dans un petit bloc sur toutes les pages du site permettant une discussion entre les utilisateurs. Possibilité de régler le niveau d'autorisations pour poster un message.
En ligne : Module recensant tous les membres connectés actuellement au site.
Forum : Module de forum où on a la possibilité d'organiser les sujets en catégories infinies. Chaque catégorie a des autorisations personnalisables pour lire, écrire, modifier, supprimer.
Galerie : Module permettant d'organiser un album photo, avec classement par catégories infinies. Notation et commentaires pour chaque image, miniature créée automatiquement ainsi que la possibilité d'apposer automatiquement sur chaque image un logo du site.
Liens : Module permettant d'organiser les liens internes au site, avec gestion des niveaux d'autorisation pour la visibilité.
Liens web : Module de liens vers d'autres sites (partenaires ou autres) avec possibilité de noter et commenter un article.
Livre d'or : Laisser des messages. Protection anti-robots.
News : Module permettant de répertorier des actualités et de les classer dans des catégories, commentaires possibles pour chaque news.
Newsletter : Module d'envoi de newsletter aux membres inscrits à cette dernière. L'envoi peut se faire en trois formats : texte simple, BBCode ou HTML.
Pages : Module permettant de créer des pages dans lesquelles on peut mélanger HTML, javascript et BBCode. Les pages sont classées dans des catégories infinies, les autorisations de lecture et d'édition de chaque page sont personnalisables. Il est possible d'activer ou de désactiver les commentaires pour chaque page.
Personnalisation : Ce module vous permet de personnaliser l'interface de votre site, le favicon et modifier les fichiers CSS en ligne.
PHPBoostCaptcha : Ce module permet de générer un code de vérification visuel au dessus du bouton de validation des formulaires pour les visiteurs avec possibilité de choisir le niveau de difficulté.
QuestionCaptcha : Ce module permet de définir des questions personnalisées pour le code de vérification visuel au dessus du bouton de validation des formulaires pour les visiteurs.
Rapport de bugs : Module permettant de faire un suivi de bugs, de la soumission à la correction.
ReCaptcha : Ce module permet d'afficher le code de vérification visuel ReCaptcha au dessus du bouton de validation des formulaires pour les visiteurs.
Recherche : Module permettant de faire des recherches dans les contenus des différents autres modules, à partir du moment où ceux-ci sont activés.
Site Map : Module permettant d'une part de générer un plan du site, et d'autre part un fichier sitemap.xml qui sera placé automatiquement à la racine.
Sondages : Module de gestion de sondages.
Statistiques : Module permettant l'affichage des statistiques propres au site, à savoir le nombre de visiteurs, les navigateurs, systèmes d'exploitation, pays et langues des visiteurs.
Téléchargements : Ce module vous permet de gérer des fichiers proposés au téléchargement à des membres.
TinyMCE : Module permettant l'édition de contenu en utilisant le langage HTML.
Wiki : Système de wiki permettant à n'importe qui de contribuer dans un travail collaboratif. Les droits d'écriture sont paramétrables pour chaque article, des commentaires sont disponibles sur chaque article. Gestion des archives de chaque page.



L'installation




Les prérequis de PHPBoost 4



  • Un serveur (du matos il faut)
  • Un système d'exploitation (Linux est le plus performant)
  • Un serveur HTTP (Apache2 dans l'idéal, mais fonctionne sur IIS)
  • MySQL5 (pour la Base de données mais développement pour SQLite et PostGreSQL)
  • PHP (langage de programmation) supérieur à 5.3


Et en supplément :
  • PHPGD (pour les images, redimensionnement, etc.)
  • URLRewriting (pour la réécriture des URL)



A vos marques, prêts, installez !



Téléchargement des fichiers et téléversement sur le serveur web
Se rendre sur le site de PHPBoost et télécharger la version 4.1 : http://www.phpboost.com/download/download.php

Décompresser en local les fichiers.
Envoyer par FTP le dossier à la racine du serveur.




Cas du serveur dédié



Si serveur dédié, on peut tout faire depuis celui-ci ce que je fais sur ma machine Calculate Linux:
Code BASH :
su – apache
cd localhost/htdocs/
wget http://www.phpboost.com/download/file-299+phpboost-4-1.php
unzip file-299+phpboost-4-1.php


Je configure un vhost sur mon apache :
Code BASH :
vi /etc/apache2/vhosts.d/phpboost.conf


Code BASH :
<VirtualHost *:80>
        DocumentRoot /var/www/localhost/htdocs/phpboost
        ServerName phpboost.linuxtricks.lan
        ServerAlias 10.21.27.139
        ServerSignature Off
        <Directory /var/www/localhost/htdocs/phpboost>
                Options Indexes FollowSymLinks
                AllowOverride All
                Allow from All
        </Directory>
</VirtualHost>


Et je recharge la configuration d'apache

Code BASH :
/etc/init.d/apache2 graceful
 * Gracefully restarting apache2 ...                            [ ok ]





Création de la base de données



Chez un hébergeur, la base est déjà créée, le nom d’utilisateur et son mot de passe sont fournis.
Dans le cas d'un serveur dédié, on doit créer la base de données, ainsi que l'utilisateur par phpmyadmin ou la console mysql :

Code BASH :
mysql -u root


Code SQL :
mysql> CREATE DATABASE phpboost;
Query OK, 1 ROW affected (0.00 sec)
mysql> GRANT ALL ON phpboost.* TO 'phpboost'@'localhost' IDENTIFIED BY 'phpboost';
Query OK, 0 ROWS affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 ROWS affected (0.00 sec)
mysql> quit;
Bye



On lance la procédure d'installation



On se rend directement sur le site : http://phpboost.linuxtricks.lan

Et on a l'interface d'installation :



Se laisser guider par l'installation :

Etape 1 : Accepter la licence.




Etape 2 : Vérifier que les composants sont bien disponibles sur le serveur (Version de PHP, Extensions, Autorisation des dossiers)




Etape 3 : Identifiants et connexion de la base de données




Etape 4 : Configuration du site




Etape 5 : Configuration du compte Administrateur




Etape 6 : On a fini ! On supprime le dossier install sur le serveur.




La configuration Générale de PHPBoost




Menu Administration


  • Exploration de la configuration générale
  • Exploration de la configuration avancée
  • La maintenance



Menu Outils


  • Les outils de cache (Vider le cache si modifs…)
  • Outils de base de données (sauvegardes, restauration)
  • Personnalisation de l'interface, favicon, CSS
  • Petit passage sur les erreurs 404...




Gérer les menus



Dans le panneau d'administration, Contenu, Menus, Gestion on positionne les menus.
Tous les menus sont déplaçables et activable/désactivable.
Possibilité d'afficher/masquer les panneaux gauche et droite.



Personnaliser PHPBoost avec des thèmes




Directement sur le site de phpboost on trouve des thèmes : http://www.phpboost.com/download/category-42+themes-phpboost-4-1.php
Pour installer un thème, il faut télécharger le zip sur le PC.
Puis aller dans le Panneau d'administration, Administration, Thèmes, Gestion, Ajouter un thème et choisir le fichier téléchargé.



Régler ensuite le thème dans la configuration générale.
Ne pas oublier de modifier le thème pour les utilisateurs déjà créés.


Utiliser PHPBoost en utilisant les modules



Une règle importante : Désactiver les modules qu'on utilise pas. (Sécurité et rapidité)

[fieldset legend="Pour les « experts » , on peut éditer facilement les modules."]
Exemple avec connect/templates/connect_mini.tpl et retirer le texte

Remplacer
Code TPL :
<i class="fa fa-envelope# IF C_HAS_PM # blink# ENDIF #"></i>
                                                <a href="{U_USER_PM}" class="small"> {L_NBR_PM}</a>

par

Code TPL :
<a href="{U_USER_PM}" class="small"><i class="fa fa-envelope# IF C_HAS_PM # blink# ENDIF #"></i></a>[/fieldset]


Les modules se gèrent de la même façon. Tour d'horizon de quelques modules...


Le module calendrier



Le module calendrier permet de planifier des événements.
Tous les raccourcis se trouvent dans la petite roue dentée, les menus s'affichent en fonction des permissions des utilisateurs :



  • Création d'un événement
  • Création de deux catégories : COAGUL et FABLAB
  • Coup d’œil sur la partie configuration et droits.




Le module pages




  • Aperçu du module pages (qui permet de créer des pages sur le site).
  • Exploration de l’éditeur BBCode
  • Configuration particulières des pages. (droits…)




A la demande du public





Merci de votre attention





Les pièces jointes



Le diaporama joué lors de l'atelier : Atelier_PHPBoost.odp
Cette page a été vue 7727 fois