CMS

Content Management System (and Framework)

Récupérer un terme de taxonomie à partir d'un champ spécifique

Depuis Drupal7, on peut ajouter des champs à un terme de taxonomie.

Ceci peut être intéressant pour ajouter une image ou d'autres informations. Mais comment dans ce cas chercher un terme de taxonomie sur la base de ce champ spécifique ?
Imaginous que nous avons une taxonomie de type "Music Categories", sur laquelle nous ajoutons un champ spécifique, "music_code", qui est utilisé dans une interface avec une autre système.

Nous avons alors 2 options :

Influence du paramétrage APC sur les performances Drupal

Avec une version PHP inférieure à 5.5 il est recommandé d'utiliser un cache d'OpCode. Ce cache permet d'améliorer les performances de PHP, en mettant en cache le code PHP une fois qu'il a été analysé.

L'un des caches les plus utilisés est APC. Son installation sur une distribution type Debian consiste simplement en une commande

apt-get install php-apc

Par défaut, la taille mémoire réservée est de 32 Mo.

Interdire l'accès anonyme sur un site Drupal

Dans certains cas on peut vouloir interdire l'accès en mode anonyme à un site Drupal : site complètement privé, ou site en test.

Plusieurs étapes permettent de faire cela simplement :

  • configurer les permissions pour supprimer l'accès au contenu aux visiteurs
  • rediriger les erreurs 403 (accès refusé) vers la page de login
  • modifier la page de login (optionnel)

Configuration des permissions

Via l'écran de gestion des permissions, (admin/people/permissions), supprimer l'accès au contenu pour les visiteurs anonymes :

VirtualHost Apache pour Drupal

Dans une installation "de base" Drupal, celui-ci embarque un fichier .htaccess qui définit les règles de réécriture d'URL et de sécurité, et autres paramétrage propre au serveur http Apache.

Le souci principal des fichiers .htaccess étant, par contre, que le serveur http va vérifier à chaque fois sur disque (via la lecture du fichier) le contenu de ce fichier.

Pour améliorer les performances, il est possible de ne pas laisser le serveur Apache lire les fichiers .htaccess, via la directive

Créer un type de contenu et y attacher des champs

Il est possible via l'IHM de créer un nouveau type de contenu et d'y ajouter des champs. Tout ceci peut également se faire de manière programmatique, par un simple module.

Le module va comporter au moins 2 fichiers : le .info qui décrit le module, et le .module qui comprend le code.

Pour notre démonstration, nous allons créer un module qui permettra de créer des contenus qui seront repris par Views Slideshow par la suite.

Le fichier monslideshow.info est simple :

Performances Drupal

Drupal est généralement basé sur une plate-forme LAMP (Linux / Apache / MySQL / PHP), même si on peut au final changer la majorité des couches, sauf le PHP.

Plusieurs options sont donc possibles pour améliorer les performances, qui peuvent parfois être calamiteuses sur un serveur mal dimensionné :