Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Mot-clefs : IPB

IPB for Drupal: un connecteur IP.Board / Drupal

Guillaume Kulakowski

A l'occasion du projet de refonte de Scénario-Paintball sous Drupal, je suis en train de développer un connecteur IPB / Drupal.

Pourquoi IP.Board ?

SPB tourne maintenant depuis plusieurs années sous IP.Board. C'est malheureusement un logiciel propriétaire mais c'est aussi un forum terriblement efficace dont je possède une licence à vie (qui n'existe plus maintenant mais qui me permet de ne pas payer la redevance annuelle).

Le problème c'est que SPB ce n'est pas qu'un forum, c'est également un site. A chaque montée de version d'IPB, il faut trouver un portail et refaire pas mal de développements pour adapter les éléments hors forums à la nouvelle version.

J'ai donc décidé de migrer le portail de SPB sous un CMS et de ne maintenir que le connecteur, un peu à la manière de Fedora-Fr sous FluxBB & eZ Publish connectés via eZFluxBB.

Pourquoi Drupal ?

Pour le cas de SPB, les avantages par rapport à une solution comme eZ Publish sont nombreux :

  • Possibilité nativement pour les membres de personnaliser l'affichage des blocs.
  • Possibilité nativement pour les membres de créer des blogs (l'extension IP.Blog existe pour IP.Board mais est soumise à une redevance annuelle).
  • Comme le site fait pas mal appel à la base de membres, j'ai préféré Drupal qui stocke les membres comme une entité à part contrairement à eZ Publish qui les stocke comme des objets classiques. Le problème intervient lorsqu'on possède un site à faible contenu avec une grosse base d'utilisateur, on fait vite grimper les ressources nécessaires juste pour les membres.
  • Après presque 7 années de pratique d'eZ Publish, je commence à faire le tour et j'avais envie de profiter de SPB pour varier les plaisirs..

Où en est le projet ?

Pour le moment l'extension en est à ses balbutiements :

  • Interface de configuration depuis le back-office Drupal.
  • Utilisation du couple login / mot de passe pour se connecter au site Drupal.
  • La session IP.Board est récupérée dans Drupal pour connecter automatiquement l'utilisateur.
  • Création des utilisateurs Drupal à la volée lors de leur connexion.
  • Bloc de statistiques.

A venir :

  • Exploitation des données sur les forums et topics.

Bref, c'est un projet en cours de développement et sous licence GPL v2 :

Mise à jour de Scenario-PaintBall sous IPB 3.2

Guillaume Kulakowski

Normalement ce blog ne traite que d'open-source mais pour une fois je vais faire une petite exception et parler du logiciel propriétaire : Invision Power Board. Cela fait maintenant 7 ans que le site Scenario-Paintball existe et depuis ses débuts il tourne sous IPB. J'essaie un temps soit peu de mettre à jour le forum toutes les 2 versions majeures (lors de la fin du support de ma branche) et à chaque fois le travail est conséquent :

  • Redéploiement d'un nouveau portail (je dois en être à mon 4ème) comme les portails ne sont pas officiels.
  • Redéveloppement de la skin.
  • Redéveloppement de tout ce qui est spécifique.

Ce coup-ci, pour le passage 3.0 vers la 3.2, les nouveautés sont :

  • Mise en place d'un nouveau portail basé sur le portail officiel d'IPB 3.0 reversé dans la communauté car IPS ne le maintient plus et invite à souscrire à sa solution payante.
  • Ça faisait longtemps que je voulais tester Sphinx et c'est chose faite. C'est à présent le moteur de recherche qui anime SPB (qui fera l'objet d'un prochain article).
  • Suppression de tous les crons via le web (qui est un non sens selon moi et ralenti le surf) pour transférer tout ça en crontab système. Pour cela il faut les désactiver via l'ACP et virer l'appel en bas du template global.
  • Utilisation d'un sous-domaine dédié au média (static.scenario-paintball.com).
  • etc...

Bref, bien que je sois fan d'open-source force est d'avouer qu'IPB est un bien beau produit pour une communauté de 15.000 membres et près d'un demi-million de messages.

Mise en place et exploitation de Memcached

Guillaume Kulakowski

Afin de réduire au maximum les appels à la base de données, ainsi que les traitements résultant de l'exploitation des requêtes, les CMS, Wikis, forums et autre blogs utilisent au maximum des systèmes de cache. Le plus souvent les fichiers sont stockés directement sur le système de fichier, mais il existe des alternatives de stockage telles que les système de mémoire cache distribuée dont Memcached en est un excellent représentant.

Bien que pour le moment je ne possède qu'un seul serveur pour Scenario-Paintball et que je n'ai pas besoin de distribuer mon cache ou mes sessions, l'utilisation d'un stockage en RAM apporte un gain de performance par rapport à un stockage sur disque dont les accès (I/O) sont généralement plus lents.

Pourquoi Memcached en plus d'APC

Certaines applications comme IPB proposent de stocker leur cache applicatif au sein d'APC.

En mon sens (mais peut-être suis je un puriste) APC est un cache d'opcode et non un cache applicatif. De plus, il n'est pas distribué et dans le cas d'une application répartie sur plusieurs serveurs, on pourrait rencontrer des versions de cache différentes.

Pour du cache applicatif, je pense qu'il vaut mieux utiliser un cache distribué et donc (par exemple) Memcached.

Installation de Memcached et des extensions pour php et Python

Pour installer Memcached et les extensions pour Python et php, rien de plus simple  : Just Yum It !

yum install memcached.x86_64 python-memcached.noarch php-pecl-memcached.x86_64 perl-Cache-Memcached.noarch

Monitorer Memcached

Pour monitorer Memcached, j'ai trouvé sur la toile un memcahce.php dans le même style que l'APC.php permettant de monitorer APC.

memcached.png

J'ai également mis en place un template pour Cacti, également trouvé sur le web, pour monitorer Memcached au sein de mon instance Cacti.

Configuration des différentes applications en place sur mon serveur

;;;;;;;;;;;;;;;
; Memcached ;
;;;;;;;;;;;;;;;
; Use memcache as a session handler
session.save_handler=memcached
; Defines a comma separated list of server urls to use for session storage
session.save_path="localhost:11211"